Klub AIMT Duta Pelajar Microsoft Learn adalah inisiatif yang dipimpin oleh pelajar dan dikoordinasikan oleh komunitas di bawah kepemimpinan Ashish Ujjwal , Pemimpin Klub. Klub ini adalah komunitas yang inovatif dan menarik di mana siswa dapat berpartisipasi dalam berbagai kegiatan teknis dan menyenangkan, termasuk:
Tujuan dari proyek ini adalah untuk membuat aplikasi web berfitur lengkap yang mendukung koordinasi kegiatan klub melalui panel acara, panel admin, panel blog, dan banyak lagi.
Mengatur, mengelola, dan berpartisipasi dalam acara dengan mudah. Pengguna dapat menelusuri, mendaftar, dan mendapatkan rincian tentang acara klub mendatang.
Panel blog berkemampuan CRUD sepenuhnya tempat pengguna dan admin dapat membuat, membaca, memperbarui, dan menghapus blog.
Kelola semua pengguna, acara, dan blog dari Panel Admin terpusat. Admin memiliki kendali penuh atas platform, termasuk mengirimkan buletin dan memoderasi aktivitas pengguna.
Notifikasi email yang lancar melalui Nodemailer . Pengguna mendapat pemberitahuan tentang pendaftaran acara, pembaruan blog, dan aktivitas lainnya melalui email.
Otentikasi pengguna yang aman dan andal menggunakan JSON Web Tokens (JWT) . Peran dan izin dikelola untuk pengguna, admin, dan manajer acara.
Komunikasi real-time dengan Socket.io memungkinkan interaksi yang dinamis dan menarik antar pengguna selama siaran langsung dan obrolan.
Seluruh platform disebarkan dan dihosting di Azure, memastikan kinerja yang cepat dan terukur.
Lihat demonstrasi proyek dan video panduannya:
Proyek ini dibangun di atas MERN Stack dengan fitur tambahan untuk layanan email dan interaksi real-time.
Koleksi Pengguna :
Menyimpan informasi pengguna, termasuk peran (admin, pengguna), token autentikasi, dan data profil.
Koleksi Acara :
Menyimpan semua data terkait acara termasuk detail acara, pengguna terdaftar, dan penyelenggara acara.
Koleksi Blog :
Kumpulan semua blog yang dibuat pengguna, beserta stempel waktu, kategori, dan detail kepenulisan.
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.
Untuk mengatur notifikasi email, layanan Nodemailer terintegrasi. Anda dapat mengkonfigurasi email pengirim di file .env seperti yang ditunjukkan di bagian Pengaturan Lokal.
Panel Admin memungkinkan Anda untuk:
Proyek ini menyertakan fitur obrolan waktu nyata menggunakan Socket.io. Pengguna dapat berinteraksi selama acara, mengirim komentar langsung, dan berpartisipasi dalam diskusi waktu nyata.
Di versi mendatang, kami bertujuan untuk menambahkan lebih banyak fitur seperti:
Untuk menjalankan proyek secara lokal, ikuti langkah-langkah berikut:
Kloning Repositori
git clone https://github.com/AshishUjjwal/Microsoft-LSA-AIMT.git
Arahkan ke Direktori Proyek
cd Microsoft-LSA-AIMT
Instal Dependensi
npm install
cd client
npm install
Siapkan Variabel Lingkungan
Buat file .env di direktori root dan tambahkan variabel berikut:
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret_key
[email protected]
EMAIL_PASS=your_email_password
Jalankan Aplikasi Untuk menjalankan server dan klien:
npm run dev
Akses Aplikasi Buka browser Anda dan buka http://localhost:3000.
Proyek ini telah menjadi bagian penting dari program Microsoft Learn Student Ambassadors. Ini dirancang untuk mendorong pembangunan komunitas dan kolaborasi di antara pelajar dan profesional.
Jangan ragu untuk menghubungi:
Kami menyambut kontribusi dari komunitas! Jika Anda ingin berkontribusi:
Untuk lebih jelasnya, silakan baca Pedoman Berkontribusi.
This project is licensed under the MIT License - see the LICENSE file for details.