This project is an application encompasing a back-end Web API written using Liquid Framework for .NET Core and MongoDb as Database, plus a client front-end app written using React
There is Container Orchestration Support for the solution with Docker-Compose. It includes observability with ELK Stack and Grafana.
The MongoDb database should be created as explained in Create a web API with ASP.NET Core and MongoDB.
The back-end solution contains a docker-compose.yml for the container orchestration. The images for the observability components and MongoDb should be pulled from the corresponding repositories as seen in the docker-compose, using docker pull <image-name>
.
The docker-compose.yml also references some docker volumes. They should be created using docker create volume <volume-name>
.
The network for the orchestration is declared in docker-compose.yml.
It is needed a valid Docker License to work with Visual Studio. As alternative, you can use a Linux Distro of preference (e.g. Ubuntu) and Visual Studio Code. Linux can run on WSL.
For ELK Stack the docker-compose.yml provides the needed settings for Kibana dashboards, including Elasticsearch APM data.
It is needed to setup a Elasticsearch Grafana datasource, as seen in the screenshot below: