LearningApp is .NET web api tailored for a online quiz application. Project architecture designed following Clean Architecture by Jayson Taylor.
React UI for application available, as well as it's alternative counterpart.
- ASP.NET Core
- SQL Server
- Entity Framework Core
- Microsoft Identity
- FluentValidation
- AutoMapper
- XUnit
- Moq
- FluentAssertions
- Azure Storage Blobs
- Authorization
- User management
- Creating questions divided by categories and difficulty levels
- Tracking user progress in given category and level
- Creating statistics
- User scoreboard by user experience points
- Rewarding users by unlocking user achivements
- Managing images in storage
In order to setup project locally:
- Clone repository using git bash:
git clone https://github.com/jacekcielecki/Learning-App.git- Setup MSSQL Server connection string in
appsettings.Development.json
"ConnectionStrings": {
"azureSqlDb": "Server="SQL_SERVER_CONNECTION_STRING"
}- Setup Azure Blob Storage connection string, and container names in
appsettings.json
"BlobStorage": {
"ConnectionString": "BLOB_STORAGE_CONNECTION_STRING",
"ImageContainerName": "CONTAINER_NAME",
"AvatarContainerName": "CONTAINER_NAME"
}- Run application using dotnet cli (example)
dotnet run --project C:\Users\username\source\repos\Learning-App\WSBLearn.WebApi\WSBLearn.WebApi.csprojSwagger Documentation available: https://wsblearn-api.azurewebsites.net/swagger/index.html
