Lewati ke konten utama

Quick start

Perintah di halaman ini dimulai dari root repo Bucket/, kecuali jika langkah menyebut direktori lain. Frontend membutuhkan Node.js 20+, sedangkan backend dan OCR dapat dijalankan melalui Docker Compose.

Struktur repo yang digunakan dalam contoh:

Workspace/
├── Bucket/ # Backup database dan aplikasi legacy
└── new bucket/Bucket/ # Monorepo ini
├── apps/api/ # Backend Go
├── apps/web/ # Frontend React
└── apps/documentation/ # Panduan Docusaurus
Workshop/
└── ocr_service/ # Layanan OCR opsional

Backend Go berada dalam repo ini. OCR berada di ~/Workshop/ dan bersifat opsional.

1. Backend Go dan infrastruktur​

Di terminal pertama:

cd apps/api
cp -n .env.example .env

Edit .env: ganti JWT_SECRET, cek database, dan setel origin frontend Vite. Contoh berikut menempatkan API pada port host 8082:

API_PORT=8082
APP_URL=http://localhost:8082
HTTP_ADDR=:8080
CORS_ALLOW_ORIGINS=http://localhost:5173

Kemudian:

docker compose up -d --build
docker compose ps

Untuk database baru dan kosong, terapkan migrasi satu kali:

make db-apply-migrations

Target Makefile menjalankan semua .up.sql tanpa pelacakan versi. Jangan ulangi pada database yang sudah memiliki skema. Periksa output setiap file karena kegagalan satu file tidak otomatis menghentikan loop. Lihat database dan storage.

curl -fsS http://localhost:8082/health
curl -fsS http://localhost:8082/ready

/ready memeriksa koneksi PostgreSQL, bukan seluruh tabel atau OCR.

2. Frontend React​

Di terminal baru dari root Bucket/:

npm ci
cp -n apps/web/.env.example apps/web/.env
npm run dev

Pastikan apps/web/.env berisi VITE_API_URL=http://localhost:8082. Buka URL yang ditampilkan Vite, biasanya http://localhost:5173. Login memakai akun dari database Go; migrasi skema saja tidak membuat akun default.

Frontend membaca token dari envelope data.token milik backend Go. Pengembangan dengan apps/web/mock-server.js memerlukan penyelarasan kontrak login; lihat frontend.

3. OCR (opsional)​

Mulai stack Go dahulu karena Compose OCR merujuk network memo_backend_go_default. Di terminal baru dari root Bucket/:

cd '../../../Workshop/ocr_service'
docker compose --env-file '../../Workspace/new bucket/Bucket/apps/api/.env' up -d --build
curl -fsS http://localhost:8015/health

Compose OCR membaca deploy/compose.env. Periksa token, callback, kredensial provider, dan koneksi MinIO. Build pertama mengunduh model PaddleOCR. Lihat layanan OCR.

Alamat lokal​

LayananAlamat
Frontend Reacthttp://localhost:5173 (umumnya)
API Go pada contoh inihttp://localhost:8082
Swagger API Gohttp://localhost:8082/docs/swagger
OCRhttp://localhost:8015
Swagger OCRhttp://localhost:8015/docs
PostgreSQL Golocalhost:55432
PostgreSQL OCRlocalhost:5434
Redis OCRlocalhost:6381
MinIOhttp://localhost:9000

Port aktual dapat berubah menurut .env dan Compose. Hentikan masing-masing stack dengan docker compose down dari direktori terkait. Opsi -v juga menghapus volume data.