API was developed in .Net Core solving the Make Magic challenge. The specifications for building the API can be found here. The application was developed as a database first implemented in MySql using Entity Framework Core as ORM. The solution was implemented using DDD and TDD techniques.
The API documentation was implemented using swagger. A message package and a connector were also created to allow connection to the API Gateway.
Thinking about microservices structure, the components that might be reused by other possible services were separated into packages in Nuget.
As mentioned, the API uses components that are subject to reuse. They have been separated into packages. Below there is a table showing the function of each one. Just click on the name of the packages to be redirected to those repositories.
Package | Desciption |
---|---|
BaseEntity | Package that encapsulate basic properties and methods to facilitade create entities. |
Message.Response.Maybe | This package encapsulates responses between methods. |
Infra.BaseRepository | Package that encapsulate the implementation of the repository pattern with Unit of Work. |
HTTP.Request.Service | Package that encapsulates methods to help REST communication between HTTP services. |
API-Gateway | Abstraction layer for routes the requests in a microservice oriented application |
The project is under MIT License, so it grants you permission to use, copy, and modify a piece of this software free of charge, as is, without restriction or warranty.