-
Notifications
You must be signed in to change notification settings - Fork 0
Tech
Backend of this project contains 6 services
-
Identity
- Technologies: C#, ASP.NET Core 6, EF Core, MSSQL Server
-
Gateway
- Technologies: C#, ASP.NET Core 6, Ocelot
-
Competition
- Technologies: NestJS, Mongo
-
Userworkflow
- Technologies: C#, ASP.NET Core 6, EF Core, MSSQL Server, Google Storage
-
Streaming service
- Technologies: C#, ASP.NET Core 6, EF Core, MSSQL Server, Kurento Media Server, SignalR
-
Message service
- Technologies: C#, ASP.NET Core 6, SendGrid
Frontend contains of two parts:
-
Web frontend (main part)
- Technologies: NestJs, GoogleCaptchaV3
-
Frontend for streaming (integrates in main part)
- Technologies: Angular 15
Identity is responsible for authorization and authentication
Gateway - for authenticating/authorising requests and redirecting them to other services
Competition contains logic for conducting sport events
Userworkflow contains main api for managing staff, its timetable and other related entities (like exercises for trainees, gyms information and so on)
Streaming service is responsible for setting up streams and their recordings. Implemented with Kurento Media Server and SignalR. For storing recorder videos Google Cloud Storage is used
Message Service is used for sending emails to users. SendGrid is chosen as an email service provider
Frontend is written with NestJs as the main view and Angular 15 as the event streaming part. For protecting frontend from bots and spam Google captcha V3 is used
Component diagram
The general component diagram

For building and assembling the application we use docker-compose. Add images can be found in deploy folder. Docker compose file for production - docker-compose.yaml and for local environment
To run locally you have to generate local certificates and place them near the usual ones (they can be found in .cerf folders in each of the projects)
The project is done by Oleksandr Lohvinov and Ihor Kravtsov