This is a forum system that allows users to post comments, rate, reply to comments, and filter posts based on various criteria. The front-end of the application is built using React JS and the back-end is built with .NET Core Minimal API.
👦 Author - Mihail Karabashev
- Guest visitors:
- Browse topics and categories;
- View rated and commented topics;
- Filter topics by various criteria;
- Logged Users:
- Users can post comments on the forum;
- Users can rate comments and replies;
- Users can reply to existing comments;
- Topics can be filtered based on various criteria such as date, rating, and popularity;
- Comments can be filtered based on various criteria such as date, rating, and popularity;
- Admin:
- Manage topics and comments including adding, editing, and deleting them;
- Manage user roles, including adding, editing, and deleting them;
- Check User Activity;
- Backend:
- ASP.NET Core 6
- Entity Framework (EF) Core 6
- Microsoft SQL Server
- ASP.NET Identity System
- JWT Token
- Auto Мapping
- Dependency Injection
- Filtering and Paging
- Data Validation, both Client-side and Server-side
- Externel Login (goolge, facebook)
- FrontEnd:
- ReactJs
- React Router
- Hooks (custom)
- Contexts
- HOC
- Controlled & Uncontrolled Forms
- Validation
- React-Loading-Sceleton
- Modals
-
Clone the repository
-
BackEnd:
- Navigate to the project directory:
- cd forum-system
- Install the dependencies for the .NET Core project:
- dotnet restore
- Run the .NET Core project:
- dotnet run
- Navigate to the project directory:
-
This start the backend running on https://localhost:7229;http://localhost:5241
-
FrontEnd:
- Navigate to the ClientApp directory:
- cd forum-system
- Install the dependencies for the React JS app:
- npm install
- Run the React JS app:
- npm start
- Navigate to the ClientApp directory:
-
This start the frontend running on http://localhost:3000.
- Contributing
- Fork the repository
- Create a new branch
- Make your changes
- Push your changes to your forked repository
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details
Give a ⭐ if you like this project!