This project aims to create a web forum with the following key features:
Users can create posts and comments.
Only registered users can like or dislike posts and comments. The number of likes and dislikes is visible to all users.
Users can filter displayed posts by categories, created posts, and liked posts. Filtering by categories is akin to subforums.
Users can register by providing their email, username, and password.
Data, including users, posts, and comments, is stored using the SQLite database.
The project is containerized using Docker for easy deployment. Basic Docker knowledge is recommended; refer to the provided Docker basics resource.
-
Clone the repository
-
Build Docker image:
docker image build -f Dockerfile -t <name_of_the_image> .Example:docker image build -f Dockerfile -t forum . -
Start the container: docker container
run -p <port_you_what_to_run> --detach --name <name_of_the_container> <name_of_the_image>Example:docker container run -p 8000:8000 --detach --name dockerized-forum forum -
Run the container to start server:
docker exec -it <container_name> ./mainExample:docker exec -it dockerized-forum ./main
Make sure you have Docker running
> bash scripts/dockerize.sh
After completing tests, run the following to clean up images
> bash scripts/cleanup.sh