Full‑stack finance management platform for tracking expenses and transactions in workspace-scoped accounts with role-based access control (RBAC).
Tech: Spring Boot (Java 17, JWT-secured REST API) · React + TypeScript (Vite) · PostgreSQL
Live: https://fintrix.alliededge.app
API: https://fintrix-app-backend.onrender.com
Swagger: https://fintrix-app-backend.onrender.com/swagger-ui.html
Backend cold start: Render free tier may take ~1–2 minutes (sometimes ~3 minutes) on first request after inactivity.
Monorepo: backend/ (Spring Boot) · frontend/ (React)
- Multi-tenant-by-design: all finance data is workspace-scoped; cross-workspace access is blocked server-side.
- Security & authorization: JWT authentication + RBAC (Admin / Analyst / Viewer) enforced on protected endpoints.
- Clean layering: controller → service → repository with DTOs, validation, and consistent error handling.
- Server-side analytics: dashboard endpoints return aggregates (totals/trends) so the client stays fast and simple.
| Dashboard (Dark) | Dashboard (Light) |
|---|---|
![]() |
![]() |
| Workspaces | Members & Roles |
|---|---|
![]() |
![]() |
| Expenses | Transactions |
|---|---|
![]() |
![]() |
- Open: https://fintrix.alliededge.app
- Login with one of the demo accounts below
- Open a workspace → add an expense/transaction → view the dashboard summary
| Role | Password | Typical access | |
|---|---|---|---|
| Admin | admin@fintrix.com | Admin123 | Full access + member management |
| Analyst | analyst@fintrix.com | Analyst123 | Create/inspect finance data |
| Viewer | viewer@fintrix.com | Viewer123 | Read-only |
A demo workspace with pre-populated data is available.
React (Vercel) --> Spring Boot API (Render) --> PostgreSQL (Neon)
Backend responsibilities (high level):
- Controller: HTTP + request/response mapping
- Service: business rules, authorization, orchestration
- Repository: persistence (Spring Data JPA)
- Security: JWT parsing, authentication, role & workspace checks
Backend
- Java 17, Spring Boot (Web, Security, Data JPA)
- JWT auth
- OpenAPI / Swagger UI
Frontend
- React + TypeScript (Vite)
- Axios + TanStack Query
Database & deployment
- PostgreSQL (local via Docker Compose, prod on Neon)
- Frontend: Vercel · Backend: Render
For full setup details, see backend/README.md and frontend/README.md.
cd backend
docker-compose up -d
mvnw.cmd spring-boot:runIn a second terminal:
cd frontend
pnpm install
pnpm dev- Add audit logs for admin actions
- Improve reporting exports (CSV/PDF)
- Extend analytics (budgets/forecasting) and performance options (caching/pagination)





