https://github.com/vezem1r/springforum
Springboot Forum
https://github.com/vezem1r/springforum
authentication backend docker-compose email-sender forum full-stack logging lombok mariadb rest-api springboot swagger
Last synced: 4 months ago
JSON representation
Springboot Forum
- Host: GitHub
- URL: https://github.com/vezem1r/springforum
- Owner: Vezem1r
- Created: 2024-09-23T06:23:14.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-21T16:55:46.000Z (over 1 year ago)
- Last Synced: 2024-10-22T08:39:08.566Z (over 1 year ago)
- Topics: authentication, backend, docker-compose, email-sender, forum, full-stack, logging, lombok, mariadb, rest-api, springboot, swagger
- Language: Java
- Homepage:
- Size: 3.73 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# [Forum Project]()
**Description**: The Forum Project is an online platform where users can create and discuss various topics.
It supports features such as user authentication, the ability to create topics with banners and attachments.
Additionally, the application utilizes **SMTP** for sending emails, providing users with essential email verification.


---
## Frontend Repository
Find the frontend part of this project [here](https://github.com/Vezem1r/SpringForumFrontend).
---
## How to Build the Project
To set up and run the backend project locally, follow steps from our [wiki](https://github.com/Vezem1r/SpringForum/wiki/Build-and-Environment-Configuration-Guide).
---
## Roles and Permissions
This forum application includes various roles, each with different permissions:
- **Admin**
- 🛠️ Full access to the forum.
- 👥 Can manage users, topics, comments, categories, and tags.
- 📊 Can view basic forum statistics.
- **User**
- 📝 Can create topics and comments with multipart attachments.
- 💬 Can reply to comments.
- 👍👎 Can upvote and downvote topics and comments.
- 👤 Has a personal profile displaying their personal information (email is hidden to other users), topics, and overall rating.
- ✏️ Can change their username, avatar, and password with email verification.
- 🔔 Has personal notifications for:
- 🆕 New comments on their topics.
- 📊 Changes in the rating of their topics or comments.
- **Guest**
- 👁️ Can view users' profiles, topics, and comments.
- 🔍 Can search for topics based on various criteria.
- 🚫 No permissions to interact with posts or comments.
---
## Technologies Used
This project is built with the following technologies:
- **Backend**:
- ☕ Java 21
- 🚀 Spring Boot 3.3.4 (Data JPA, Security, Web, Mail)
- 🗄️ MariaDB (as the database)
- 🔑 JWT for authentication
- 🛠️ Lombok (for reducing boilerplate code)
- 📄 Swagger (for API documentation)
- 📜 Logback (for logging)
- **Frontend**:
- ⚛️ React
- 🎨 Tailwind CSS
- 🌐 WebSocket
- 🍞 React Toastify
- 📦 React Icons