Event-first backend built on Nano with PostgreSQL + jOOQ.
- Clear event boundaries between application services and DB.
- Planned work: modes: silent / push / digest (Rule engine later). Onboard more Apps.
- PostgreSqlService — the only service touching Postgres (via jOOQ). Attends to internal events.
- UserService —
/auth/register,/auth/login - Todo: AppService —
/api/apps/supported,/api/apps/{app}/link,/api/apps/{app}/unlink. - Todo: NotificationsService — provider ingestion & user actions:
/webhook/ingest→ emitsnotification.ingested, persists notification./api/apps/{app}/notifications/mark-read→ marks and purges.
- Java 21
- Maven 3.9+
- PostgreSQL 14+
- jOOQ code generation connectivity to DB
- Docker for local
- Setup Postgres DB on local. Run command
docker-compose up flywayto bring up Postgres instance on docker and run flyway migrations. - Execute command: sh jooq-generator-local.sh -> this script will set all required env variables and run
mvn -Pjooq clean generate-sources verify. - Run command:
mvn exec:java
App integrations require explicit user consent (OAuth or provider export). Store only what’s needed for routing and user experience. Provide “Mark all read & purge” to avoid data hoarding.
DB migrations via Flyway in CI (already set up). Backend to be setup on GCE