Forum is a web application that allows authorized users to create, comment, like, dislike and add tags to the their own posts.
- Creating post
- Post tags (categories)
- Filter by tags
- Likes, dislikes on posts and on comments
- Commenting on posts
- Registration
- Authorization
- Database connection
- Image upload (.jpg, .png, .gif, .jpeg)
- Authentication through Google or Github
- Notification system on most of user actions (like/dislike post or comment, comment post, report comment, delete comment, request for moderator role status, declining requests, etc.)
- Your reacted/commented/created posts pages
- Admin panel - reports, role upgrade requests, all users
- Tag creation, deletion (only by admin)
- Report post or comment (moderator role required)
- Go 1.20 or higher
- Have an access to this repository 🙂
To start using this application follow these steps:
- Clone the repository
git clone [email protected]:msarvaro/forum.git
- Download dependecies:
go mod tidy
- Run these commands in terminal (running the server in docker)
make build
make docker-run
- By default the server would run by next address - https://localhost:5000
- If you've finished reviewing, please delete the docker image and container by running next command:
make clean
Alternatively 🔄
You can run the server directly:
make run
Admin:
- username - nah
- email - [email protected]
- password - nahnahnah
- You can react on post only from post page
- You CANNOT create a new user using non-ascii symbols in either username or email
- You can authorize either with username or email
- Admin can respond to moderator's report only by accepting it (deleting reported content) or by declining it (notify report's author that it has been declined)
- If don't have make installed, you may run the app with next command (run from root directory):
go run ./cmd/app
huge update 2.0 is coming soon...