{"id":17727646,"url":"https://github.com/vezem1r/springforum","last_synced_at":"2026-02-19T15:02:53.519Z","repository":{"id":257964907,"uuid":"861565069","full_name":"Vezem1r/SpringForum","owner":"Vezem1r","description":"Springboot Forum","archived":false,"fork":false,"pushed_at":"2024-10-21T16:55:46.000Z","size":3909,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-22T08:39:08.566Z","etag":null,"topics":["authentication","backend","docker-compose","email-sender","forum","full-stack","logging","lombok","mariadb","rest-api","springboot","swagger"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vezem1r.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-09-23T06:23:14.000Z","updated_at":"2024-10-21T18:13:34.000Z","dependencies_parsed_at":"2024-10-25T22:30:47.045Z","dependency_job_id":"33020560-3f1b-483b-a833-810ddd925092","html_url":"https://github.com/Vezem1r/SpringForum","commit_stats":null,"previous_names":["vezem1r/springforum"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vezem1r%2FSpringForum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vezem1r%2FSpringForum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vezem1r%2FSpringForum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vezem1r%2FSpringForum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vezem1r","download_url":"https://codeload.github.com/Vezem1r/SpringForum/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243547204,"owners_count":20308659,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication","backend","docker-compose","email-sender","forum","full-stack","logging","lombok","mariadb","rest-api","springboot","swagger"],"created_at":"2024-10-25T18:07:07.202Z","updated_at":"2026-02-19T15:02:53.439Z","avatar_url":"https://github.com/Vezem1r.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Forum Project]()\n\n**Description**: The Forum Project is an online platform where users can create and discuss various topics.\nIt supports features such as user authentication, the ability to create topics with banners and attachments.\nAdditionally, the application utilizes **SMTP** for sending emails, providing users with essential email verification.\n\n![Forum fast :) preview](preview.gif)\n![Admin fast :) preview](admin_preview.gif)\n\n---\n\n## Frontend Repository\nFind the frontend part of this project [here](https://github.com/Vezem1r/SpringForumFrontend).\n\n---\n\n## How to Build the Project\n\nTo set up and run the backend project locally, follow steps from our [wiki](https://github.com/Vezem1r/SpringForum/wiki/Build-and-Environment-Configuration-Guide).\n\n---\n\n## Roles and Permissions\n\nThis forum application includes various roles, each with different permissions:\n\n- **Admin**\n  - 🛠️ Full access to the forum.\n  - 👥 Can manage users, topics, comments, categories, and tags.\n  - 📊 Can view basic forum statistics.\n- **User**\n  - 📝 Can create topics and comments with multipart attachments.\n  - 💬 Can reply to comments.\n  - 👍👎 Can upvote and downvote topics and comments.\n  - 👤 Has a personal profile displaying their personal information (email is hidden to other users), topics, and overall rating.\n  - ✏️ Can change their username, avatar, and password with email verification.\n  - 🔔 Has personal notifications for:\n    - 🆕 New comments on their topics.\n    - 📊 Changes in the rating of their topics or comments.\n\n- **Guest**\n  - 👁️ Can view users' profiles, topics, and comments.\n  - 🔍 Can search for topics based on various criteria.\n  - 🚫 No permissions to interact with posts or comments.\n\n---\n\n## Technologies Used\n\nThis project is built with the following technologies:\n\n- **Backend**:\n  - ☕ Java 21\n  - 🚀 Spring Boot 3.3.4 (Data JPA, Security, Web, Mail)\n  - 🗄️ MariaDB (as the database)\n  - 🔑 JWT for authentication\n  - 🛠️ Lombok (for reducing boilerplate code)\n  - 📄 Swagger (for API documentation)\n  - 📜 Logback (for logging)\n  \n\n- **Frontend**:\n  - ⚛️ React\n  - 🎨 Tailwind CSS\n  - 🌐 WebSocket\n  - 🍞 React Toastify\n  - 📦 React Icons\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvezem1r%2Fspringforum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvezem1r%2Fspringforum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvezem1r%2Fspringforum/lists"}