🚀 Setup

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.

Persyaratan Sistem
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
Arsitektur 3 Service
bengkel-pintar-api
Backend REST API
Runtime: Bun + Hono framework
ORM: Prisma (PostgreSQL)
Port default: 4000
Fitur: JWT auth, WebSocket, upload MinIO
🖥️
bengkel-pintar-admin
Frontend Admin Panel
Framework: Next.js 15 (App Router)
UI: Tailwind CSS + shadcn/ui
Port default: 4100
Fitur: SSR, role-based sidebar, real-time WS
🗄️
Database & Cache
Data Layer
Database: PostgreSQL (via Prisma)
Cache/Session: Redis 7
File Storage: MinIO (S3-compatible)
Seed data tersedia untuk demo awal
Langkah Instalasi
1

Clone Repository

Clone repositori utama ke mesin lokal Anda, lalu masuk ke direktori project.

git clone <repo-url>
cd bengkel-pintar
Pastikan Git sudah terinstal. Jika menggunakan SSH key, pastikan key sudah terdaftar di GitLab/GitHub.
2

Setup Backend — bengkel-pintar-api

Masuk ke folder backend, salin file environment, instal dependensi, jalankan migrasi database, lalu seed data awal.

cd bengkel-pintar-api
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
API berjalan di http://localhost:4000 — cek dengan GET /api/health
Pastikan PostgreSQL dan Redis sudah berjalan sebelum menjalankan db push.
3

Setup Frontend — bengkel-pintar-admin

Buka terminal baru, masuk ke folder frontend, salin file environment, instal dependensi, lalu jalankan server dev.

cd bengkel-pintar-admin
cp .env.example .env.local
# Edit .env.local: NEXT_PUBLIC_API_URL=http://localhost:4000
bun install
bun dev
Admin panel berjalan di http://localhost:4100
4

Akses Aplikasi

Buka browser dan akses URL berikut setelah kedua service berjalan.

ServiceURLKeterangan
Admin Panelhttp://localhost:4100Antarmuka utama pengguna
REST APIhttp://localhost:4000Backend API endpoint
API Healthhttp://localhost:4000/api/healthCek status server
5

Login Pertama

Gunakan akun Super Admin default yang dibuat oleh seed database untuk login pertama kali.

FieldNilai
Emailadmin@bengkelpintar.com
Passwordpassword123
Segera ganti password default setelah login pertama melalui menu Profil → Ganti Password.
Konfigurasi Environment Variables
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
Docker Compose (Production)
🐳
Untuk deployment production, gunakan docker-compose.yml yang sudah tersedia di root repository. Docker Compose akan menjalankan semua service (API, Frontend, PostgreSQL, Redis, MinIO) dalam satu perintah dengan konfigurasi jaringan internal yang aman.
File docker-compose: bengkel-pintar/docker-compose.yml
File env production: bengkel-pintar/.env.production
Jalankan dengan: docker compose up -d
Pastikan semua environment variable production sudah diisi di .env.production sebelum menjalankan Docker Compose. Jangan gunakan nilai default development di production.
Verifikasi Instalasi

Pastikan semua item berikut terpenuhi sebelum mulai menggunakan sistem:

  • API health check — GET http://localhost:4000/api/health mengembalikan 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