Orchestria adalah sistem manajemen alur operasional organisasi berbasis microservices. Studi kasus awal berfokus pada operasional PUB Universitas Nasional PASIM, tetapi full scope project tidak terbatas pada pengajuan dana.
Project ini dibuat sebagai implementasi Java Spring Boot microservices untuk kebutuhan UAS Java Lanjutan sekaligus portofolio backend/full-stack.
Orchestria mempunyai dua target yang harus dipenuhi bersamaan:
- seluruh materi Java Lanjutan yang sudah diajarkan memiliki implementasi nyata dan dapat didemokan;
- seluruh domain full scope mempunyai minimal satu alur fungsional.
Pengajuan dana adalah vertical slice pertama, bukan keseluruhan scope project.
- Auth dan Access Control
- Organization Management
- Fund Request dan Approval
- Finance dan Settlement
- Notification dan Scheduler
- Reporting dan Export
- Archive dan Document
- Asset Management
- Cleanliness/Picket
- Division Activity
- English Activity
- HUMAS/Public Web
| Service | Port | Database | Status |
|---|---|---|---|
| api-gateway | 8000 | - | Implemented |
| auth-service | 8001 | orchestria_auth_db |
Implemented |
| organization-service | 8002 | orchestria_organization_db |
Implemented, perlu perluasan full scope |
| request-service | 8003 | orchestria_request_db |
Implemented MVP |
| finance-service | 8004 | orchestria_finance_db |
Implemented MVP |
| notification-report-service | 8005 planned | orchestria_notification_report_db |
Not implemented |
Login
→ Create Fund Request
→ Add Request Items
→ Submit Request
→ Division Approval
→ PUB Approval
→ Pembina Approval
→ Finance Disbursement
→ Mark Request as Disbursed
→ Confirm Fund Received
→ Submit Settlement
→ Approve Settlement
→ Completed
Backend core flow sudah tersedia secara mayoritas. Frontend saat ini sudah mencakup login, dashboard, My Requests, Create Request, Request Detail, item pengajuan, submit, dan approval queue. Frontend Finance dan Settlement masih harus diselesaikan.
/login
/dashboard
/requests
/requests/new
/requests/:id
/approvals
Sudah terimplementasi:
- MVC/layered architecture;
- REST API dan JSON;
- microservices;
- PostgreSQL;
- API Gateway;
- service-to-service communication;
- exception handling;
- CRUD;
- Bean/IoC;
- authentication dan authorization;
- role dan permission;
@PreAuthorize;- JWT stateless;
- frontend integration;
- Git workflow.
Belum lengkap dan menjadi target wajib:
- Java/Spring email;
- scheduler fixed rate, fixed delay, dan cron;
- event publisher dan listener;
- authentication stateful berbasis session sebagai demo terisolasi;
- Excel import/export/template menggunakan Apache POI;
- notification log;
- reporting dashboard;
- full scope module operasional.
Lihat matriks lengkap pada Java Lanjutan Course Coverage Matrix.
- Java 21
- Spring Boot 4.x
- Spring Security
- Spring Data JPA
- JWT dengan JJWT
- PostgreSQL
- Spring Cloud Gateway
- Maven
- Lombok
- React
- TypeScript
- Vite
- React Router
- VS Code
- DBeaver
- Postman
- Git dan GitHub
Frontend dan Postman mengakses backend melalui port 8000.
| Gateway Path | Target Service |
|---|---|
/api/auth/** |
auth-service |
/api/organization/** |
organization-service |
/api/requests/** |
request-service |
/api/finance/** |
finance-service |
/api/notifications/** |
notification-report-service, planned |
/api/reports/** |
notification-report-service, planned |
- database per service;
- tidak ada shared database;
- tidak ada foreign key lintas database;
- relasi lintas service menggunakan ID referensi;
- integrasi saat ini menggunakan REST;
- JWT divalidasi pada service yang menerima request;
- API Gateway menjadi single entry point client;
- business logic utama berada di service layer Java.
- Project Overview
- Business Flow
- Microservices Architecture
- Role and Permission
- API Endpoints Draft
- Database Design Draft
- Security Design
- Development Roadmap
- Postman Testing Flow
- Current Status Handoff
- Java Lanjutan Course Coverage Matrix
- Full Scope Acceptance Criteria
- 48-Hour Execution Plan
Sebelum melanjutkan project pada sesi baru:
- periksa commit terbaru branch
main; - baca dokumen
10sampai13; - jangan menyederhanakan Orchestria hanya menjadi aplikasi pengajuan dana;
- jangan membuat ulang struktur yang sudah ada;
- kerjakan berdasarkan source code aktual;
- gunakan commit kecil dan build setelah setiap slice.
Backend foundation dan vertical slice Request–Approval–Finance tersedia.
Frontend Request dan Approval tersedia.
Frontend Finance/Settlement, notification-report-service, course gaps,
dan module full scope operasional masih harus diselesaikan.