Skip to main content

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)PortSchema
Auth8081auth
Social8082social
Expense8083expense
Feed8084feed
Media8085media
Notification8086notification
Communication8087communication
Messaging8088messaging
Outbox relaycontainer 8088, host 8089polls 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.