Aplikasi edukasi dan reward untuk pemilahan sampah berbasis Node.js.
RecycleGo adalah platform yang mendorong masyarakat untuk melakukan pemilahan sampah dengan sistem reward dan edukasi. Aplikasi ini memungkinkan pengguna untuk mencatat aktivitas pemilahan sampah mereka, mendapatkan poin, dan menukarkan poin tersebut dengan berbagai hadiah. Selain itu, aplikasi ini juga menyediakan konten edukasi tentang pengelolaan sampah dan lingkungan.
- Autentikasi: Sistem login dan registrasi pengguna
- Pencatatan Aktivitas: Pengguna dapat mencatat aktivitas pemilahan sampah mereka
- Sistem Poin: Pengguna mendapatkan poin berdasarkan jenis dan berat sampah yang dipilah
- Reward: Pengguna dapat menukarkan poin dengan berbagai hadiah
- Edukasi: Konten edukasi tentang pengelolaan sampah dan lingkungan
- Admin Panel: Panel admin untuk verifikasi aktivitas, mengelola reward, dan konten edukasi
- Backend: Node.js, Express.js
- Database: MySQL dengan Sequelize ORM
- Autentikasi: JWT (JSON Web Token)
- Keamanan: Helmet, Rate Limiting, CORS
- Clone repositori ini
- Install dependensi dengan menjalankan
npm install - Buat database MySQL dengan nama
recyclego_db - Konfigurasi file
.envdengan kredensial database Anda - Jalankan aplikasi dengan perintah
npm startataunpm run devuntuk mode development
├── config/
│ └── db.js # Konfigurasi database
├── models/
│ ├── User.js # Model pengguna
│ ├── Aktivitas.js # Model aktivitas pemilahan sampah
│ ├── Reward.js # Model reward dan klaim reward
│ └── Edukasi.js # Model konten edukasi
├── routes/
│ ├── auth.js # Rute autentikasi
│ ├── aktivitas.js # Rute aktivitas pemilahan sampah
│ ├── reward.js # Rute reward dan klaim reward
│ └── edukasi.js # Rute konten edukasi
├── .env # File konfigurasi environment
├── package.json # Dependensi proyek
└── server.js # Entry point aplikasi
POST /api/auth/register- Registrasi pengguna baruPOST /api/auth/login- Login pengguna
GET /api/aktivitas/user- Mendapatkan aktivitas penggunaPOST /api/aktivitas- Menambahkan aktivitas baruGET /api/aktivitas/admin- Mendapatkan semua aktivitas (admin)PATCH /api/aktivitas/:id/verify- Verifikasi aktivitas (admin)
GET /api/reward- Mendapatkan semua rewardGET /api/reward/:id- Mendapatkan detail rewardPOST /api/reward/claim/:id- Menukarkan poin dengan rewardGET /api/reward/claims/history- Mendapatkan riwayat klaim reward
GET /api/edukasi- Mendapatkan semua konten edukasiGET /api/edukasi/:id- Mendapatkan detail konten edukasiPOST /api/edukasi/:id/read- Menandai konten edukasi sudah dibaca
ISC