A discussion platform built from scratch in Go: registration and login, posts with images, comments, likes and dislikes, category filters. SQLite for storage, Docker for shipping.
Team project built during our training at Zone01 Rouen.
- Authentication: registration and login (by username or email), passwords hashed with bcrypt, sessions via UUID cookies
- Posts: creation with optional image upload, category tagging
- Interactions: comments, likes and dislikes on posts and comments
- Filtering: browse by category
- Storage: SQLite (
database/forum.db, ships with the schema and seed categories only)
With Go:
go run .
With Docker:
docker build -t forum .
docker run -p 8080:8080 forum
Then open http://localhost:8080.
server.go routes and HTTP server
handlers/ register, login, logout, session endpoints
users/ registration and login logic (bcrypt + sessions)
cookies/ session cookie management
post/ posts and comments
voting/ likes and dislikes
model/ shared data structures
errorpage/ HTTP error pages
database/ SQLite database