hobokenchicken bb5a56816b 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
2026-06-26 14:47:29 -04:00

Dumpster

A chaotic, self-hosted Discord-like platform for ~12 degenerates.

Built for fun, maintained with pride, named with intent.

Quick Start

# Copy and edit environment variables
cp .env.example .env
$EDITOR .env

# Start backing services
docker compose -f docker/compose.yml up -d

# Run migrations
go run ./cmd/migrate

# Start the server
go run ./cmd/server

# In another terminal, start the web dev server
cd web
npm install
npm run dev

Project Structure

dumpster/
├── cmd/
│   ├── server/           # Main API + WebSocket gateway
│   ├── tui/              # Terminal client (Phase 5)
│   └── migrate/          # Database migrations CLI
├── internal/
│   ├── auth/             # Auth logic
│   ├── server/           # Server CRUD + membership
│   ├── channel/          # Channel CRUD
│   ├── message/          # Message CRUD
│   ├── voice/            # LiveKit integration
│   ├── role/             # Roles + permissions
│   ├── gateway/          # WebSocket gateway
│   ├── upload/           # File upload (minio)
│   └── middleware/        # Auth, rate limiting, CORS
├── migrations/           # SQL migrations
├── web/                  # React frontend (PWA)
├── docker/               # Docker Compose + Caddyfile
├── scripts/              # Helper scripts
└── docs/                 # Documentation

License

AGPLv3

S
Description
A chaotic, self-hosted Discord-like platform for ~12 degenerates. Built for fun, maintained with pride, named with intent.
https://dumpster.dustin.coffee
Readme 202 MiB
2026-07-07 18:19:22 +00:00
Languages
TypeScript 62.3%
Go 36.5%
JavaScript 0.4%
HTML 0.4%
CSS 0.2%
Other 0.1%