This project was developed as a refactoring of a project I developed a few years ago, Marvel Heroes MVC. Through it, it is possible to consult characters and comics in the public API of Marvel and save them in an application database, thus making it possible to edit and delete them.
This repository has a continuous deployment configuration with an Azure Web App, already connected to Azure SQL and other cloud resources. This way it is always possible to check the latest version published in the published application link.
The intention of the refactoring is to abandon the monolithic structure and adopt an architecture of layers dedicated to specific responsibilities (database access, business rules layer, integration layer and api layer). This type of software architecture not only facilitates code maintenance but also brings more benefits, each of the layers can be exported and used in other projects, as well as the unique assignment of responsibilities facilitates dependency management.
In addition to a new approach to the architecture, best software development practices were also adopted compared to the old project, following Clean Code guidelines (Robert C. Martin), best security practices in the management and storage of keys, use of dependencies, return of endpoints with a unified format, forwarding of notifications with already handled messages and complete setup of the swagger with JTW authentication.