# Bazzar POS Backend

Backend API POS berbasis Go untuk domain `bazzar.zerologic.cloud`, diisolasi agar aman pada server PostgreSQL yang dipakai banyak project.

## Stack

- Go + Gin
- PostgreSQL + sqlc
- golang-migrate
- PM2 (backend only)

## Quick Start

1. Copy `env.example` ke `.env` lalu isi secret yang benar.
2. Install dependency:
   - `go mod tidy`
3. Build:
   - `make build`
4. Run:
   - `make run`

Health check:

- `GET /api/v1/healthz`

## Shared DB Safety

Project ini memakai isolasi:

- DB Name: `bazzar_db`
- Schema: `bazzar_pos`
- DB User: `bazzar_user` (akses terbatas)

Lihat detail di `docs/DB_SETUP_SAFE.md`.

## Migration (Safe)

Set variable:

```bash
export MIGRATE_DATABASE_URL='postgres://bazzar_user:***@127.0.0.1:5432/bazzar_db?sslmode=disable'
```

Jalankan:

```bash
make migrate-up
```

`make migrate-up` memakai `scripts/migrate_safe.sh` dan akan otomatis memblokir jika URL DB bukan `bazzar_db`.

## PM2 (Backend Only)

```bash
make build
pm2 start ecosystem.config.js
pm2 save
pm2 startup
```

Developer -> https://fikrimobiliu.site