This is a simple application that aims to show a simple, yet consistent, project using Clean Architecture, Domain Driven Design and SOLID Principles. A simple web frontend was also implemented to show some results.
This app consists in generate a report of a given Race. The data input is a template file .txt in which each line correspond to a Race Event containing information about the race. This file can be found on the PresenterWeb Folder (That Folder is the Start of the application)
The Race Analysis App is deployed on the cloud. You can access the app on the following links
-
App (FrontEnd with api calls): https://raceanalysis.now.sh/
-
App Api (Azure): https://raceanalysis.azurewebsites.net/api/races/1 [Offline]
The Web Api (Backend) for the applications was made wih C#/ASP.NET Core. To publish the api locally run the following command on the root folder:
dotnet run --project PresenterWeb
You can test the endpoints using a rest API software of your choice or even via console through the curl. Example:
curl https://localhost:5000/api/races/1
The Frontend of the application was made with Angular 8. To publish the frontend locally run the following command inside of the PresentationWeb folder
npm install
ng serve
That's it! You have now the complete app running locally
RaceAnalysis
├── PresentationWeb # Client App (UI) made with Angular.
├── PresenterWeb # Rest api framework project.
├── Application # UseCases project.
├── Domain # Module with all the business logic, entity (domain) models.
├── Repository # All persistance related stuff goes here.