Microsoft Learn Student Ambassadors AIMT Club เป็นโครงการริเริ่มที่นำโดยนักศึกษาและประสานงานโดยชุมชนภายใต้การนำของ Ashish Ujjwal หัวหน้าสโมสร สโมสรแห่งนี้เป็นชุมชนที่มีนวัตกรรมและมีส่วนร่วมซึ่งนักศึกษาสามารถมีส่วนร่วมในกิจกรรมทางเทคนิคและความสนุกสนานต่างๆ รวมไปถึง:
เป้าหมายของโครงการนี้คือการสร้างเว็บแอปพลิเคชันที่มีคุณสมบัติครบถ้วนซึ่งสนับสนุนการประสานงานกิจกรรมของสโมสรผ่านแผงกิจกรรม แผงผู้ดูแลระบบ แผงบล็อก และอื่นๆ
จัดระเบียบ จัดการ และมีส่วนร่วมในกิจกรรมต่างๆ ได้อย่างง่ายดาย ผู้ใช้สามารถเรียกดู ลงทะเบียน และรับรายละเอียดเกี่ยวกับกิจกรรมของสโมสรที่กำลังจะมีขึ้น
แผงบล็อกที่เปิดใช้งาน CRUD โดยสมบูรณ์ ซึ่งผู้ใช้และผู้ดูแลระบบสามารถสร้าง อ่าน อัปเดต และลบบล็อกได้
จัดการผู้ใช้ กิจกรรม และบล็อกทั้งหมดจาก แผงผู้ดูแลระบบ ส่วนกลาง ผู้ดูแลระบบสามารถควบคุมแพลตฟอร์มได้อย่างสมบูรณ์ รวมถึงการส่งจดหมายข่าวและการกลั่นกรองกิจกรรมของผู้ใช้
การแจ้งเตือนทางอีเมลอย่างราบรื่นผ่าน Nodemailer ผู้ใช้จะได้รับการแจ้งเตือนเกี่ยวกับการลงทะเบียนกิจกรรม การอัปเดตบล็อก และกิจกรรมอื่น ๆ ผ่านทางอีเมล
การตรวจสอบผู้ใช้ที่ปลอดภัยและเชื่อถือได้โดยใช้ JSON Web Tokens (JWT) บทบาทและสิทธิ์ได้รับการจัดการสำหรับผู้ใช้ ผู้ดูแลระบบ และผู้จัดการกิจกรรม
การสื่อสารแบบเรียลไทม์ กับ Socket.io ช่วยให้สามารถโต้ตอบแบบไดนามิกและมีส่วนร่วมระหว่างผู้ใช้ระหว่างกิจกรรมสดและการแชท
แพลตฟอร์มทั้งหมดได้รับการปรับใช้และโฮสต์บน Azure ทำให้มั่นใจได้ถึงประสิทธิภาพที่รวดเร็วและปรับขนาดได้
ชมวิดีโอสาธิตโครงการและวิดีโอแนะนำ:
โปรเจ็กต์นี้สร้างขึ้นบน MERN Stack พร้อมฟีเจอร์เพิ่มเติมสำหรับบริการอีเมลและการโต้ตอบแบบเรียลไทม์
การรวบรวมผู้ใช้ :
จัดเก็บข้อมูลผู้ใช้ รวมถึงบทบาท (ผู้ดูแลระบบ ผู้ใช้) โทเค็นการตรวจสอบสิทธิ์ และข้อมูลโปรไฟล์
การรวบรวมกิจกรรม :
จัดเก็บข้อมูลที่เกี่ยวข้องกับกิจกรรมทั้งหมด รวมถึงรายละเอียดกิจกรรม ผู้ใช้ที่ลงทะเบียน และผู้จัดงาน
คอลเลกชันบล็อก :
คอลเลกชันของบล็อกที่ผู้ใช้สร้างขึ้นทั้งหมด พร้อมด้วยการประทับเวลา หมวดหมู่ และรายละเอียดผู้เขียน
This project uses JWT for user authentication and role-based authorization. The following user roles are supported:
1. Admin:
Full access to all resources including events, users, and blogs.
2. Event Manager:
Limited access to manage events and moderate related user activities.
3. User:
Can register for events, read blogs, and contribute by writing blog posts.
หากต้องการตั้งค่าการแจ้งเตือนทางอีเมล บริการ Nodemailer จะถูกรวมเข้าด้วยกัน คุณสามารถกำหนดค่าอีเมลของผู้ส่งในไฟล์ .env ดังที่แสดงในส่วนการตั้งค่าภายในเครื่อง
แผงผู้ดูแลระบบช่วยให้คุณ:
โปรเจ็กต์นี้มีคุณสมบัติการแชทแบบเรียลไทม์โดยใช้ Socket.io ผู้ใช้สามารถโต้ตอบระหว่างกิจกรรม โพสต์ความคิดเห็นสด และเข้าร่วมการสนทนาแบบเรียลไทม์
ในเวอร์ชันต่อๆ ไป เรามุ่งมั่นที่จะเพิ่มคุณสมบัติเพิ่มเติม เช่น:
เมื่อต้องการรันโครงการภายในเครื่อง ให้ทำตามขั้นตอนเหล่านี้:
โคลนพื้นที่เก็บข้อมูล
git clone https://github.com/AshishUjjwal/Microsoft-LSA-AIMT.git
นำทางไปยังไดเรกทอรีโครงการ
cd Microsoft-LSA-AIMT
ติดตั้งการพึ่งพา
npm install
cd client
npm install
ตั้งค่าตัวแปรสภาพแวดล้อม
สร้างไฟล์ .env ในไดเร็กทอรีรากและเพิ่มตัวแปรต่อไปนี้:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
[email protected]
EMAIL_PASS=your_email_password
เรียกใช้แอปพลิเคชัน เพื่อเรียกใช้เซิร์ฟเวอร์และไคลเอนต์:
npm run dev
เข้าถึงแอปพลิเคชัน เปิดเบราว์เซอร์ของคุณแล้วไปที่ http://localhost:3000
โปรเจ็กต์นี้เป็นส่วนสำคัญของโปรแกรม Microsoft Learn Student Ambassadors ได้รับการออกแบบมาเพื่อส่งเสริมการสร้างชุมชนและการทำงานร่วมกันระหว่างนักศึกษาและผู้เชี่ยวชาญ
อย่าลังเลที่จะติดต่อ:
เรายินดีรับการสนับสนุนจากชุมชน! หากคุณต้องการมีส่วนร่วม:
สำหรับรายละเอียดเพิ่มเติม โปรดอ่านแนวทางการมีส่วนร่วม
This project is licensed under the MIT License - see the LICENSE file for details.