FIRE
On budget
Every bucket has room left.
Getting warm
A bucket is close to its limit.
On fire
A bucket has hit its limit.
Burned down
A bucket is over budget.
The project
FIRE! is a budgeting app currently in progress, with a focus on concurrent ledgers and secure APIs.
Keeping the ledger accurate
The PostgreSQL ledger uses triggers and ordered row locks to keep totals accurate under concurrent operations.
Row level security and column level permissions protect user data. Automated SQL tests verify those permissions.
Securing the backend
A stateless Spring Boot backend validates Supabase authentication tokens. JUnit tests exercise that validation against a mock server.