Skip to main content
Version: 0.59.0-rc.2

Development Environment

This document describes how to set up and use the local development environment.

Prerequisites

  • Nix with flakes enabled
  • Docker and Docker Compose
  • Git

Setup

1. Enter Nix Shell

cd lana-bank
nix develop

2. Start Dependencies

make start-deps

This starts:

  • PostgreSQL (port 5433)
  • Keycloak (port 8081)

3. Run Migrations

cargo sqlx migrate run

4. Start Application

# Run all servers
cargo run

# Or run the full interactive stack under process-compose
make dev-deps-and-app

Service URLs

ServiceURL
Admin Panelhttp://admin.lana-bank.localhost:1355
Admin GraphQLhttp://admin.lana-bank.localhost:1355/graphql
Customer GraphQLhttp://app.lana-bank.localhost:1355/graphql
Keycloakhttp://localhost:8081

Process-Compose Development

Interactive development with a TUI for logs and restarts:

# Start dependencies, backend, and admin panel
make dev-deps-and-app

# Or attach the TUI to an already-running background stack
make process-compose-tui

# Stop this worktree's stack
make dev-down

Database Access

# Connect to PostgreSQL
psql -h localhost -p 5433 -U lana -d lana

# Reset database
make reset-deps

Frontend Development

# Admin Panel
cd apps/admin-panel
pnpm install
pnpm dev

Environment Variables

# .env.local
DATABASE_URL=postgres://lana:lana@localhost:5433/lana
KEYCLOAK_URL=http://localhost:8081

Keycloak Credentials

RealmUserPassword
adminadminadmin
customertest@test.comtest

Common Issues

Port Conflicts

# Check what's using a port
lsof -i :5433

# Kill process
kill -9 <PID>

Database Reset

make reset-deps
cargo sqlx migrate run

Cache Issues

# Clear Rust cache
cargo clean

# Clear pnpm cache
pnpm store prune