Smart Charging

Guide

Swagger runs when you run the project directly if you are using Rider or Visual Studio.

Here are default ports:

> http://localhost:3428/swagger

> https://localhost:3434/swagger

The project runs InMemory database as default. If you want to change that update Provider in "appsettings.Development.json".

Provider:

  • InMemory
  • SqlServer

PS: If you have a SqlServer and want to run on it please use docker-compose to run SqlServer on Docker or use your own database connection. After doing that please make sure that you updated the "DefaultConnection" in "appsettings.Development.json".

PS: I have tried to run the whole application on Docker but there is a technical problem with the Apple Mac M1 (arm processor) so I couldn't test with SqlServer. You will see the commented parts on the Docker file related to SqlServer and Application.

Database Diagram

https://dbdiagram.io/d/623a4fdcbed6183873dddc6d

Database Migrations

If you want to re-create the database migrations delete "SmartCharging.Infrastructure/Migrations" folder then run that command (in "source" directory) in terminal.

> dotnet ef migrations add InitialDb --project SmartCharging.Infrastructure --startup-project SmartCharging.Api --output-dir Migrations

PS: Already there and when you changed Provider as 'SqlServer' migration runs automatically.

3rd Party Services

Please use the "docker-compose" before running the application for environments in terminal.

> docker-compose up -d

Environments

PS: After building the Kibana that it takes a while to start Kibana UI.

Framework and Tools

Storages & Monitoring

Patterns and Practices

Additional Pattern and Practices

These patterns didn't apply in the application but can be useful for the approach.

Other Challenge Projects