Local setup
Prerequisites: Git, Docker, JDK 21, Node 22 if you are building these docs. iOS needs Xcode 15 or newer.
Infrastructure
From splick-backend:
./gradlew startTestEnvironment
That flow starts PostgreSQL, PgBouncer, Redis, and Kong. Kong listens on 8080. The admin API stays on 127.0.0.1:8001. Declarative config is infra/kong/kong.yml; the managed Docker scripts apply it.
Services
Run each process in its own terminal. Ports are the server.port values in each application.yml:
| Gradle task (typical) | Port | Schema |
|---|---|---|
| Auth | 8081 | auth |
| Social | 8082 | social |
| Expense | 8083 | expense |
| Feed | 8084 | feed |
| Media | 8085 | media |
| Notification | 8086 | notification |
| Communication | 8087 | communication |
| Messaging | 8088 | messaging |
| Outbox relay | container 8088, host 8089 | polls producer schemas |
Integration events do not leave Postgres until the outbox relay is up. See ADR 0006.
Clients call http://localhost:8080/api. Kong strips /api and forwards to the upstream path (/v1/...).
Docs site
cd splick-docs
nvm use
npm ci
npm start
Production build: npm run build. Broken links fail the build.