This repository conatins ScheduleGenerator - Blazor web application
This project is a .NET 5 implemented Blazor WebAssembly application for creating schedules.
ScheduleGenerator enables communication with the MSSQL database consisting of sending and receiving data regarding users, schedules and schedule items. Application can be used by users who may create account and login to the application.
It uses Entity Framework Core to communicate with a database, which contains required data tables like:
- Users - where informations about users are stored
- Schedules - where informations about schedules are stored
- ScheduleItems - where informations about schedule items are stored
Other tools used in project:
- JwtBearer - for authentication
- Open API - for API documentation
- AutoMapper - for mapping DTO-s and EntityModels data
- Fluent Validation - for data validation
Click to expand!
- [POST] Create new user
/api/users
- [POST] Authenticate the user
/api/users/authenticate
- [GET] Get user by id
/api/users/{userId}
Click to expand!
- [POST] Create a new schedule
/api/schedules
- [GET] Get a list of schedules
/api/schedules
- [GET] Get schedule by id
/api/schedules/{scheduleId}
- [DELETE] Delete schedule with given id
/api/schedules/{scheduleId}
- [PUT] Update (full update) schedule
/api/schedules/{scheduleId}
Click to expand!
- [POST] Create a new schedule item
/api/schedules/{scheduleId}/ScheduleItems
- [GET] Get a list of schedule items from specified schedule
/api/schedules/{scheduleId}/ScheduleItems
- [GET] Get schedule item from specified schedule
/api/schedules/{scheduleId}/ScheduleItems/{scheduleItemId}
- [DELETE] Delete the schedule item with given id
/api/schedules/{scheduleId}/ScheduleItems/{scheduleItemId}
- [PUT] Update (full update) schedule item
/api/schedules/{scheduleId}/ScheduleItems/{scheduleItemId}
- [PATCH] Update (Partially update) schedule item
/api/schedules/{scheduleId}/ScheduleItems/{scheduleItemId}
For more documentation data, visit
/swagger/ScheduleGeneratorOpenAPISepcification/swagger.json
(or /index.html
for documentation UI)
Make sure you have the .NET 5.0 SDK installed on your machine. Then do:
git clone https://github.com/TomWia9/ScheduleGenerator.git
cd ScheduleGenerator\ScheduleGenerator\Server
dotnet run
This will need to be perfored before running the application for the first time
- You have to change ConnectionString in appsettings.json for ConnectionString that allow you to connect with database in your computer.
- Issue the Entity Framework command to update the database
dotnet ef database update