Proyek ini menggunakan:
- Node.js dengan TypeScript
- Prisma ORM untuk database (v6.6.0)
- Express.js (v5.1.0) untuk REST API
- Zod (v3.24.3) untuk validasi data
- Swagger UI (v5.0.1) untuk dokumentasi API
- JSON Web Token (JWT) untuk autentikasi
- Helmet (v8.1.0) untuk keamanan HTTP header
- Cors (v2.8.5) untuk cross-origin resource sharing
- Morgan untuk HTTP request logging
- Node.js (versi 14 atau lebih baru)
- NPM
- Database (PostgreSQL/MySQL/SQLite sesuai konfigurasi Prisma)
-
Instalasi Dependensi
npm install
-
Konfigurasi Database
- Pastikan file
.env
sudah berisi konfigurasi database yang benar - Contoh:
DATABASE_URL="postgresql://username:password@localhost:5432/dbname"
- Pastikan file
-
Migrasi Database
npx prisma migrate dev
-
Generate Prisma Client
npx prisma generate
-
Menjalankan Aplikasi (Development)
npm run start:dev
-
Menjalankan Aplikasi (Production)
npm run build npm start
Proyek ini menggunakan arsitektur layered dengan repository pattern:
src/api
- Endpoint API dan logika bisnissrc/common
- Utilitas, middleware, dan model umumsrc/config
- Konfigurasi aplikasi