Phase 1 MVP: gateway, CRUD handlers, frontend components
Backend: - WebSocket gateway (hub, client, events) with fanout broadcast - Server CRUD handlers (create, list, get, update, delete) - Channel CRUD handlers (create, list, get, update, delete) - Message CRUD handlers (list with cursor pagination, create, update, delete) - cmd/migrate standalone migration CLI (up/down) - cmd/server wired to all handlers + WebSocket + static file serving Frontend: - Zustand stores: auth, server, channel, message, websocket - API client with fetch wrapper - Terminal-styled components: Layout, LoginForm, ChatArea, ChannelList, ServerBar, MemberList - React Router with login and main routes - Gruvbox dark palette throughout Ops: - Docker Compose with app service (multi-stage build) - Caddyfile with WebSocket upgrade support - Makefile for common tasks
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
.PHONY: build build-web build-server run dev docker-up docker-down clean
|
||||
|
||||
# Build everything
|
||||
build: build-web build-server
|
||||
|
||||
# Build the Go server
|
||||
build-server:
|
||||
CGO_ENABLED=0 go build -o dumpster-server ./cmd/server
|
||||
|
||||
# Build the web frontend
|
||||
build-web:
|
||||
cd web && npm run build
|
||||
|
||||
# Run the server locally (dev mode)
|
||||
run: build-server
|
||||
./dumpster-server
|
||||
|
||||
# Run web dev server (in a separate terminal)
|
||||
dev-web:
|
||||
cd web && npm run dev
|
||||
|
||||
# Start all backing services (no app, run that locally)
|
||||
docker-dev:
|
||||
docker compose -f docker/compose.yml up postgres valkey minio livekit coturn -d
|
||||
|
||||
# Start everything in Docker
|
||||
docker-up:
|
||||
docker compose -f docker/compose.yml up -d --build
|
||||
|
||||
# Stop everything
|
||||
docker-down:
|
||||
docker compose -f docker/compose.yml down
|
||||
|
||||
# Stop and remove volumes
|
||||
docker-clean:
|
||||
docker compose -f docker/compose.yml down -v
|
||||
|
||||
# Clean build artifacts
|
||||
clean:
|
||||
rm -f dumpster-server
|
||||
rm -rf web/dist
|
||||
rm -rf web/node_modules
|
||||
Reference in New Issue
Block a user