Backend untuk sistem manajemen tiket. Dibangun dengan Node.js, Express, TypeScript, dan MongoDB.
- Autentikasi JWT (login, register)
- Manajemen event, tiket, kategori, lokasi, banner
- Sistem order
- Swagger API docs
- Role-based access control (admin/user)
- Node.js 20+
- MongoDB 6+
- Docker & Docker Compose (opsional, untuk containerized setup)
- Clone repo
- Install dependencies:
npm install
- Salin environment file:
cp .env.example .env
- Sesuaikan nilai di
.envsesuai environment Anda. - Jalankan server development:
npm run dev
Server berjalan di http://localhost:3000.
API docs tersedia di http://localhost:3000/api/docs.
- Pastikan Docker dan Docker Compose terpasang.
- Build dan jalankan container:
docker-compose up --build
- Aplikasi tersedia di
http://localhost:3000. - MongoDB berjalan di port
27017. - Untuk menghentikan:
docker-compose down
| Variable | Deskripsi | Default |
|---|---|---|
MONGODB_URI |
Connection string MongoDB | mongodb://localhost:27017/Ticketing-Management-Backend |
JWT_SECRET |
Secret key untuk JWT | dev-secret-change-me (wajib diganti di production) |
JWT_EXPIRES |
Masa berlaku token JWT | 7d |
| Perintah | Deskripsi |
|---|---|
npm run dev |
Jalankan server development |
npm run build |
Compile TypeScript ke dist/ |
npm start |
Jalankan server production dari dist/ |
npm run make-admin |
Buat user admin |
src/
├── controllers/ # Logika controller
├── middlewares/ # Middleware Express
├── models/ # Schema Mongoose
├── routes/ # Definisi route
├── utils/ # Utility functions
├── scripts/ # Script one-off
└── index.ts # Entry point
ISC