Skip to content

KYUPPIDO/forum

Repository files navigation

Forum

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.

Features

  • 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)

Run

With Go:

go run .

With Docker:

docker build -t forum .
docker run -p 8080:8080 forum

Then open http://localhost:8080.

Project structure

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

About

Discussion platform in Go: bcrypt auth, UUID sessions, posts, comments, votes. SQLite and Docker. Zone01 Rouen team project.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors