อี_เลิร์น
โครงการพัฒนาเว็บไซต์ E Learning ซึ่งเป็นส่วนหนึ่งของการสำเร็จการศึกษา BCA ภาคเรียนที่ 6 ที่มหาวิทยาลัย VNSGU
คุณสมบัติ :
เว็บไซต์ผู้ใช้
- การรันโค้ดในภาษาต่างๆ
- การสนทนาทางวิดีโอแบบผู้ใช้ 2 คน ผู้ใช้หลายคนสามารถเข้าร่วมการโทรได้
- การสนทนาสำหรับ QnA ด้วยการโหวตขึ้น/ลง และการแท็กคำถาม การตอบคำถาม ฯลฯ
- หลักสูตรการอ่าน > หลักสูตร > ส่วนเพื่อการเรียนรู้
- การอ่านบทความด้วยการกดไลค์ / แสดงความคิดเห็นและการแชร์บน Whatsapp, Facebook เป็นต้น
- tawk.to แชทสำหรับผู้ใช้ 2-ผู้ดูแลระบบ การสนับสนุนการแชทตลอด 24 ชั่วโมงทุกวัน
- เครื่องสร้างที่อยู่อัตโนมัติโดยใช้ API ตำแหน่ง html + API การเข้ารหัสทางภูมิศาสตร์แบบย้อนกลับของ Google เพื่อดึงข้อมูลที่อยู่ของผู้ใช้โดยใช้ GPS
- User Poll เพื่อรับข้อเสนอแนะหรือการสำรวจจากผู้ใช้
- การท้าทายผู้ใช้ 2 ผู้ใช้ ผู้ใช้ท้าทายกันเพื่อสุ่ม 5 คำถามรอบ & ผู้ชนะจะได้รับ XP เมื่อชนะซึ่งจะถูกเพิ่มเข้าไปใน XP ของผู้ใช้
- การแจ้งเตือนบนเว็บไซต์ + เมล (เมล html) ที่ผู้ใช้ได้รับการแจ้งเตือนสำหรับคำถาม & ความท้าทาย
- โปรไฟล์ผู้ใช้สำหรับการดูรายละเอียด เช่น โพสต์ QnA โพล ผู้ติดตาม ข้อมูลการติดต่อ ฯลฯ
- ajax สำหรับติดตาม/เลิกติดตาม อัปเดตที่อยู่
ไซต์ผู้ดูแลระบบ
- การใช้งาน Datatables + Ajax อย่างกว้างขวางในแต่ละหน้าเพื่อแสดงรายการบันทึก X ต่อหน้า การเรียงลำดับ การค้นหา การแบ่งหน้า & สำหรับการดึงข้อมูลในรูปแบบ PDF, CSV, Excel & พิมพ์, คัดลอก
- จัดการผู้ดูแลระบบโดยเพิ่ม/อัปเดต/บล็อก/เลิกบล็อก
- การจัดการหมวดหมู่ -> หลักสูตร -> บทโดยเพิ่ม/อัปเดต/บล็อก/เลิกบล็อก
- การจัดการส่วน (บทช่วยสอน) และบทความโดยการบล็อก/ปลดบล็อก เพิ่ม/อัปเดตด้วยโปรแกรมแก้ไขแบบ WYSIWYG + การแทรกรูปภาพทันทีโดยเพิ่มรูปภาพไปยัง imgur.com จากตัวแก้ไขเอง
- จัดการโพลโดยเพิ่ม/อัปเดต/บล็อก/เลิกบล็อกด้วยการเพิ่มตัวเลือก N และตั้งค่าวันที่เริ่มต้นและสิ้นสุดของโพล
- จัดการคำถามท้าทายโดยเพิ่ม/อัปเดต/บล็อก/เลิกบล็อกโดยเพิ่ม 4 ตัวเลือก
- จัดการผู้ใช้โดยการบล็อก/เลิกบล็อก & มุมมองโปรไฟล์โดยละเอียดของผู้ใช้
- จัดการ QnA โดยการบล็อก/ปลดบล็อกทั้งคำถามและคำตอบ
- จัดการแท็กโดยเพิ่ม/อัปเดต/บล็อก/ปลดบล็อก
- การจัดการความคิดเห็นของผู้ใช้ด้วยการส่งอีเมล (อีเมล html) ไปยังผู้ใช้เพื่อตอบสนองต่อข้อเสนอแนะ
- ระบบ On Site + Mail (html mail) สำหรับข้อเสนอแนะ
อื่น
- การใช้ cURL เพื่อดำเนินการคำขอ http ในแบ็กเอนด์ เช่น เพื่อเรียกใช้คำขอ API ของ geocode ย้อนกลับของ Google โดยไม่เปิดเผยที่อยู่ API หรือรหัสรับรองความถูกต้องแก่ผู้ใช้
- URL ที่เป็นมิตรกับ SEO เพื่อการจัดอันดับผลการค้นหาที่ดีขึ้น
- ป้องกันการโจมตี XSS โดยการกรองอินพุตของผู้ใช้ และป้องกันการแทรก SQL โดยการตรวจสอบความถูกต้องที่จุดอินพุตทั้งหมด
ขอบเขตในอนาคต
- การซ่อนการเปิดเผย ID ด้วยทาก (ข้อความที่ใช้งานง่าย) ซึ่งช่วยปรับปรุง SEO ด้วย
- เพิ่มระบบแสดงความคิดเห็น disquss ในส่วน (บทช่วยสอน)
- เว็บเพจ + แคช DB เพื่อการโหลดเพจที่เร็วขึ้น
- แทนที่โปรแกรมแก้ไข WYSIWYG ด้วยโปรแกรมแก้ไขมาร์กดาวน์
เทคสแต็ค
- เซิร์ฟเวอร์ - อาปาเช่ 2.4.29
- ภาษาแบ็กเอนด์ - PHP 7.2.1
- กรอบงาน - กรอบงาน Codeigniter 3.1.8 MVC
- ฐานข้อมูล - MySQL
- ส่วนหน้า - HTML5, Bootstrap3
- แผงควบคุม - XAMPP 7.2.1
- บรรณาธิการ - ข้อความประเสริฐ
ตั้งค่าบน windows
- ติดตั้งเวอร์ชัน XAMPP ที่จำเป็น
- เปิด php.ini ของ apache และตั้งค่า
upload_max_filesize
เป็น 4M บันทึกไฟล์ เริ่ม/รีสตาร์ท ทั้งเซิร์ฟเวอร์ apache และ mysql - เปิด phpmyadmin สร้างฐานข้อมูลด้วยชื่อเช่น
e_learn
- เมื่อสร้าง DB แล้ว ให้เลือกฐานข้อมูล e_learn จากรายการ DB แล้วไปที่แท็บนำเข้าและนำเข้าไฟล์ sql ที่
/resources/db/db.sql
แล้วคลิกไป รอสักครู่เพื่อให้การนำเข้าเสร็จสิ้น - เปิด
/application/config/config.php
และตั้งค่า $config['base_url']
เป็นหน้าแรกของโปรเจ็กต์ เช่น ตั้งเป็น http://localhost/e_learn/ หากโปรเจ็กต์ของคุณอยู่ในไดเร็กทอรีชื่อ e_learn
และ บันทึกไฟล์ - เปิด
/application/config/database.php
และตั้ง hostname
username
password
และฟิลด์ database
แล้ว บันทึกไฟล์ - ไปที่ http://localhost/e_learn และหน้าเข้าสู่ระบบ/ลงทะเบียนของผู้ใช้ควรปรากฏขึ้น ลองเข้าสู่ระบบโดยใช้ข้อมูลรับรองจากตาราง
tbluser
ในฐานข้อมูล - ในทำนองเดียวกันลองไปที่ http://localhost/e_learn/admin และหน้าเข้าสู่ระบบของผู้ดูแลระบบควรปรากฏขึ้น ลองเข้าสู่ระบบโดยใช้ข้อมูลรับรองจากตาราง
tbladmin
ในฐานข้อมูล