We have inherited an old codebase for a basic email transmission engine and are looking to get this rewritten in the latest version of NET MVC. The application itself has a number of core components, but is not very complex as it is used for ad-hoc emails by come clients outside of our standard platform.
There are about 20 pages in total, most of which are simple CRUD pages. There is a more complex back-end system to this, but as it stands that it out of scope of this project and will remain as is.
The expectation is that we will simply provide the screenshots and this, along with the bootstrap template and some other instructions will form the requirements, there will be no access to the existing platform or codebase.
The new platform will need to adhere to the following conventions;
.NET 6 MVC
Bootstrap 4 - we will provide a template which has various examples for MVC/Core. This template uses npm for external libraries and core scripts, this needs to remain as is. At this point, we do not expect there to be a need to further customise any of the libraries in use, so it is simply a case of using what is there.
Clean Architecture Framework
Entity Framework (SQL) - Database first, schema provided
Generic repository pattern
Unit Tests using Builder Patterns, mocked repositories, etc.
This will need to be in 2 phases to ensure the above requirements are followed;
1. Creation and demonstration of visual studio solution that shows integration of the template and the project structure for the clean architecture and other coding requirements. We will expect to see at least one element of CRUD working along with one of the pages that list objects. This will be reviewed internally and changes communicated back.
2. Integration of all other pages.
Milestone pay-outs for the above 2 steps is acceptable, but we will require the complete of stage 2 in it's entirety before payment is made unless we can put something in place to protect both parties.