ka | en
TSU

MathQuest

Author: Nukri Tskvitaia
Co-authors: Dachi Rukhaia
Keywords: online math education, educational content
Annotation:

This site is designed for school students who want to learn math. Users can find friends, add them, message them, and compete with each other to climb to the top of the leaderboard and determine who is the most hardworking. Along with these features, they can learn math theories through visual examples. The site uses C# and ASP.NET Core for backend development. Entity Framework Core is used to work with SQL relational databases, and the Identity framework handles user authentication and authorization. Many user-related features are implemented using UserManager. The project follows repository and SOLID design patterns. AutoMapper is used to simplify mapping between entities and models, and SignalR is used to enable live messaging. To maintain the authorization state, JSON Web Tokens (JWTs) are used, and for simplicity, both access and refresh tokens are stored in cookies. Users can enhance their account security by adding two-step authentication, either by scanning a QR code or using provided keys with an external authenticator app. Role-based authorization logic is built from scratch, and there are two main roles at the moment: "User" and "Admin." Site features differ based on user roles. For the frontend, React.js is used. Unit testing is done with NUnit, and integration testing uses Moq to simulate actions. The project itself is built on a three-layer architecture: business, data, and application layers. In the application layer, we have a Web API and React.js projects to ensure a smooth, uninterrupted connection.



Web Development by WebDevelopmentQuote.com
Design downloaded from Free Templates - your source for free web templates
Supported by Hosting24.com