Skip to content
Alex edited this page Jun 30, 2023 · 11 revisions

Architecture

Backend of this project contains 6 services

Frontend contains of two parts:

Details

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

image

Deploy

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)

Clone this wiki locally