404UM is a real-time forum built with Go, WebSockets, and SQLite. It allows users to register, log in, create posts, comment, exchange direct messages, and see who’s online—all updated live via WebSockets.
- User registration and authentication
- Create and list posts
- Add and list comments on posts
- Direct messages with typing indicators
- Online presence tracking
- JSON-based WebSocket protocol
- Go 1.23+
- Gorilla WebSocket
- SQLite
- UUID for session identifiers
- Go 1.23 or newer
- GNU Make (optional, simplifies commands)
The project ships with a database seeder. By default it creates tables for users, posts, comments, direct messages, and sessions and can populate them with mock data.
go run src/cmd/db/generate.go -db ./database/data.db -drop=true -mock=true