# AbelBirdnest Stock

## Ringkasan
Repo ini berisi aplikasi `AbelBirdnest Stock` beserta paket lengkap dokumen perancangan untuk sistem inventory sarang burung walet berbasis lot/batch, traceability, sortasi, partial allocation penjualan, costing, barcode/QR, dan reporting.

## Update Terbaru
- master `suppliers` dan `customers` sekarang sudah mencakup field:
  - `bank_name`
  - `bank_account_number`
- perubahan ini sudah disinkronkan ke ERD, SQL schema, seed data, API/OpenAPI, Postman, mock response, UI data contract, dan dokumen terkait.

## Isi Paket

### 1. Business & Product
- `docs/project-spec/walet-alur-bisnis.md` / `.pdf`
- `docs/project-spec/walet-prd.md` / `.pdf`
- `docs/project-spec/walet-sample-transactions.md` / `.pdf`
- `docs/project-spec/walet-notification-approval-flow.md`

### 2. Database & Backend
- `docs/project-spec/walet-erd-dbml.dbml`
- `docs/project-spec/walet-schema.sql` / `.pdf`
- `docs/project-spec/walet-seed-data.sql`
- `docs/project-spec/walet-backend-architecture.md`
- `docs/project-spec/walet-api-spec.md`
- `docs/project-spec/walet-openapi.yaml`
- `docs/project-spec/walet-report-queries.sql`
- `docs/project-spec/walet-mock-responses.json`

### 3. Frontend & UX
- `docs/project-spec/walet-wireframe.md` / `.pdf`
- `docs/project-spec/walet-frontend-structure.md`
- `docs/project-spec/walet-component-tree.md`
- `docs/project-spec/walet-ui-data-contract.md`
- `docs/project-spec/walet-role-permission-matrix.md`
- `docs/project-spec/walet-sprint-breakdown.md`

### 4. API Testing
- `docs/project-spec/walet-postman-collection.json`
- `docs/project-spec/walet-postman-environment.json`

## Urutan Baca yang Disarankan
1. `docs/project-spec/walet-alur-bisnis.pdf`
2. `docs/project-spec/walet-prd.pdf`
3. `docs/project-spec/walet-erd-dbml.dbml`
4. `docs/project-spec/walet-schema.sql`
5. `docs/project-spec/walet-openapi.yaml`
6. `docs/project-spec/walet-wireframe.pdf`
7. `docs/project-spec/walet-frontend-structure.md`
8. `docs/project-spec/walet-sprint-breakdown.md`

## Catatan
Fokus desain saat ini tetap pada integritas lot, costing, traceability, serta kelengkapan data pembayaran untuk supplier dan customer.

## Frontend Setup Awal
Repo ini sekarang sudah memiliki scaffold aplikasi Next.js untuk memulai implementasi UI `AbelBirdnest Stock`.

### Stack yang dipakai
- Next.js App Router
- React + TypeScript
- Tailwind CSS

### Menjalankan project
```bash
npm install
npm run dev
```

Lalu buka `http://localhost:3000`.

Nama aplikasi yang tampil di UI adalah `AbelBirdnest Stock`.

### Menyalakan backend lokal
1. copy `.env.example` menjadi `.env`
2. pastikan PostgreSQL sudah jalan
3. buat database `abelbirdnest`
4. isi `AUTH_SECRET` di `.env`
5. jalankan:

```bash
npm run prisma:generate
npm run db:push
npm run dev
```

### Login Development
- halaman login: `http://localhost:3000/login`
- akun default development dibuat otomatis saat login pertama:
  - `ADMIN`
    - email: `admin@abelbirdnest.local`
    - username: `admin`
    - password: `admin123`
  - `OWNER`
    - email: `owner@abelbirdnest.local`
    - username: `owner`
    - password: `owner123`
  - `PURCHASING`
    - email: `purchasing@abelbirdnest.local`
    - username: `purchasing`
    - password: `purchasing123`
  - `WAREHOUSE`
    - email: `warehouse@abelbirdnest.local`
    - username: `warehouse`
    - password: `warehouse123`
  - `QC`
    - email: `qc@abelbirdnest.local`
    - username: `qc`
    - password: `qc123`
  - `SALES`
    - email: `sales@abelbirdnest.local`
    - username: `sales`
    - password: `sales123`

### Deploy Production
- contoh env production: [.env.production.example](/Users/wirabasalamah/Documents/Codex/abelbirdnest-web/.env.production.example)
- panduan deploy lengkap: [deploy-production.md](/Users/wirabasalamah/Documents/Codex/abelbirdnest-web/docs/deploy-production.md)
- contoh `nginx`: [abelbirdnest.id.conf](/Users/wirabasalamah/Documents/Codex/abelbirdnest-web/deploy/nginx/abelbirdnest.id.conf)
- contoh `systemd`: [abelbirdnest-web.service](/Users/wirabasalamah/Documents/Codex/abelbirdnest-web/deploy/systemd/abelbirdnest-web.service)

### Status Saat Ini
- layout aplikasi awal sudah hidup
- halaman dasar sudah tersedia untuk dashboard, suppliers, customers, purchases, receipts, lots, sorting, sales, barcode lookup, dan report stock summary
- modul `suppliers` sudah terhubung ke Prisma + PostgreSQL lewat endpoint `/api/v1/suppliers`
- modul lain masih placeholder dan belum tersambung ke backend/API riil
