Setup & Instalasi
Panduan lengkap menyiapkan lingkungan pengembangan dan produksi untuk Bengkel Pintar ERP. Sistem terdiri dari dua service utama — API backend dan Admin frontend — yang berjalan secara terpisah dan berkomunikasi via REST API.
| Komponen | Minimum | Rekomendasi |
|---|---|---|
| Sistem Operasi | macOS 13 / Ubuntu 22.04 / Windows WSL2 | macOS 14+ atau Ubuntu 24.04 LTS |
| Runtime | Bun ≥ 1.0 atau Node.js ≥ 20 | Bun ≥ 1.1 (lebih cepat untuk dev) |
| Database | PostgreSQL 14 | PostgreSQL 16+ |
| Cache | Redis 7+ | Redis 7.2+ (dengan persistence) |
| File Storage | Lokal (opsional) | MinIO (untuk upload foto & dokumen) |
| RAM | 4 GB | 8 GB atau lebih |
| Browser | Chrome 110 / Edge 110 | Chrome/Edge versi terbaru |
Runtime: Bun + Hono framework
ORM: Prisma (PostgreSQL)
Port default:
4000Fitur: JWT auth, WebSocket, upload MinIO
Framework: Next.js 15 (App Router)
UI: Tailwind CSS + shadcn/ui
Port default:
4100Fitur: SSR, role-based sidebar, real-time WS
Database: PostgreSQL (via Prisma)
Cache/Session: Redis 7
File Storage: MinIO (S3-compatible)
Seed data tersedia untuk demo awal
Clone Repository
Clone repositori utama ke mesin lokal Anda, lalu masuk ke direktori project.
cd bengkel-pintar
Setup Backend — bengkel-pintar-api
Masuk ke folder backend, salin file environment, instal dependensi, jalankan migrasi database, lalu seed data awal.
cp .env.example .env
# Edit .env: isi DATABASE_URL, REDIS_URL, JWT_SECRET
bun install
bunx prisma db push
bunx prisma db seed
bun run dev
db push.Setup Frontend — bengkel-pintar-admin
Buka terminal baru, masuk ke folder frontend, salin file environment, instal dependensi, lalu jalankan server dev.
cp .env.example .env.local
# Edit .env.local: NEXT_PUBLIC_API_URL=http://localhost:4000
bun install
bun dev
Akses Aplikasi
Buka browser dan akses URL berikut setelah kedua service berjalan.
| Service | URL | Keterangan |
|---|---|---|
| Admin Panel | http://localhost:4100 | Antarmuka utama pengguna |
| REST API | http://localhost:4000 | Backend API endpoint |
| API Health | http://localhost:4000/api/health | Cek status server |
Login Pertama
Gunakan akun Super Admin default yang dibuat oleh seed database untuk login pertama kali.
| Field | Nilai |
|---|---|
admin@bengkelpintar.com | |
| Password | password123 |
| Variable | Service | Deskripsi |
|---|---|---|
DATABASE_URL |
API | Connection string PostgreSQL, contoh: postgresql://user:pass@localhost:5432/bengkeldb |
REDIS_URL |
API | Connection string Redis, contoh: redis://localhost:6379 |
JWT_SECRET |
API | Secret key untuk signing JWT access token (min. 32 karakter acak) |
JWT_REFRESH_SECRET |
API | Secret key terpisah untuk JWT refresh token |
MINIO_ENDPOINT |
API | Host MinIO, contoh: localhost atau minio.example.com |
MINIO_PORT |
API | Port MinIO, default: 9000 |
MINIO_ACCESS_KEY |
API | Access key MinIO (username S3-compatible) |
MINIO_SECRET_KEY |
API | Secret key MinIO (password S3-compatible) |
MINIO_BUCKET |
API | Nama bucket untuk penyimpanan file, contoh: bengkel-files |
PORT |
API | Port server API, default: 4000 |
NODE_ENV |
API | development untuk lokal, production untuk server live |
NEXT_PUBLIC_API_URL |
Frontend | URL API backend yang dapat diakses browser, contoh: http://localhost:4000 |
bengkel-pintar/docker-compose.ymlFile env production:
bengkel-pintar/.env.productionJalankan dengan:
docker compose up -d
.env.production sebelum menjalankan Docker Compose. Jangan gunakan nilai default development di production.
Pastikan semua item berikut terpenuhi sebelum mulai menggunakan sistem:
- API health check —
GET http://localhost:4000/api/healthmengembalikan status 200 OK - Login berhasil dengan akun default — browser redirect otomatis ke
/dashboard - Sidebar muncul dengan menu lengkap sesuai role Super Admin
- Indikator real-time (dot hijau WebSocket) muncul di topbar dashboard
- Halaman Master Data dapat diakses dan menampilkan data seed
- Upload foto (jika MinIO dikonfigurasi) berhasil di halaman profil atau master kendaraan