Files
warmbly/docs/frontend-dev-guide.md
T
2026-02-12 17:25:46 +01:00

2.3 KiB

Frontend Development Guide

How to run the backend locally with Docker Compose while developing the frontend.

Do I need a .env file?

No. All environment variables are already defined inline in deploy/docker/docker-compose.yml with working local defaults. You don't need to create or manage any .env file to get started.

If you need to override something (e.g. real Google OAuth credentials for testing), edit the environment variables directly in the docker-compose.yml under the relevant service.

Starting the backend

cd deploy/docker

# Start everything
docker-compose up -d

This gives you:

Service URL
Backend API http://localhost:8080
Realtime (WebSocket) ws://localhost:4000/socket
Tracking http://localhost:3000
Mailpit (email inbox) http://localhost:8025

Lighter setup (API only)

If you don't need realtime or tracking:

cd deploy/docker
docker-compose up -d postgres redis kafka zookeeper schema-registry backend

Add more services as needed:

docker-compose up -d realtime    # WebSocket support
docker-compose up -d tracking    # Open/click tracking
docker-compose up -d consumer    # Event processing

Frontend config

Point your frontend at the local services:

API_URL=http://localhost:8080
WS_URL=ws://localhost:4000/socket
TRACKING_URL=http://localhost:3000

CORS is set to allow all origins in dev mode, so any frontend port works.

Common commands

cd deploy/docker

# Rebuild after pulling new backend code
docker-compose up -d --build backend

# View logs
docker-compose logs -f backend

# Reset database (wipes all data)
docker-compose down -v && docker-compose up -d

# Stop everything
docker-compose down

Email in local dev

All emails sent by the backend (login codes, verification codes, password resets) are captured by Mailpit. Open http://localhost:8025 to view them — no real email is ever sent in local dev.

Which services do I need?

What you're building Run
Most UI work (auth, campaigns, contacts, settings) infra + backend + mailpit
Live updates / realtime UI above + realtime
Email tracking / analytics above + tracking consumer
Full integration docker-compose up -d