Backend pada proyek ini menggunakan pola Model-Routes-Controller:
- Models: Berisi definisi skema dan model untuk database.
- Views: Mengelola endpoint API yang berinteraksi dengan model dan menangani logika aplikasi.
- Controllers: Mengatur aliran data antara model dan view, menangani logika aplikasi dan memastikan data yang tepat dikirim ke View.
Frontend pada proyek ini menggunakan pola Komponen-Halaman dan API Client:
- Components: Berisi komponen UI yang dapat digunakan kembali di berbagai halaman.
- Pages: Berisi halaman yang menggabungkan beberapa komponen dan mengatur tata letak serta interaksi dengan pengguna.
- API Client: Mengelola interaksi dengan backend API untuk mengambil atau mengirim data, menangani autentikasi, dan operasi CRUD lainnya.
- Separation of Concerns: Pemisahan antara Model, View, dan Controller memudahkan pengelolaan kode dan memungkinkan tim yang berbeda untuk bekerja pada bagian yang berbeda dari aplikasi secara paralel.
- Scalability: Memungkinkan pengembangan frontend dan backend secara independen, sehingga lebih mudah untuk menambah fitur baru tanpa mengganggu bagian lain dari aplikasi.
- Maintainability: Dengan pemisahan yang jelas antara komponen UI dan logika bisnis, memudahkan untuk menemukan dan memperbaiki bug, serta melakukan refactoring kode.
https://documenter.getpostman.com/view/27313392/2sA3rwNEcm
Before you begin, ensure you have the following installed:
- Node.js version
20.15
or higher - npm
- MongoDB Database
- Set up mongoDB project
- Connect your mongodb cluster to the application using the connection link provided by mongoDB and paste it in .env.example in the root folder
- Fill all the required field in the .env.example in the root folder for backend
MONGODB_URI = your_mongodb_connection_link
JWT_SECRET_KEY = your_jwt_secret_key
FRONTEND_URL=https://localhost:5173
- Use the .env.example file in the client folder for frontend
VITE_API_BASE_URL=https://localhost:3000
npm install
cd src
npm run start:dev
cd client
npm install
npm run dev