A simple api for product management
- The system is able new products. Before creating a product, the system validates the input data to ensure that the manufacturing date is not equal or higher than the expiration date
- The system is able able to list the existing products with paginated resutls. This results can be filtered
- The system is able to retrieve a product through its code
- The system is able to logically delete products
- The system is able to update existing products. Before updating a produt, the system validates the input data to ensure that the manufacturing date is not equal or higher than the expiration date
- The system must use an ORM
- The system must use AutoMapper to map entities to dtos
- The systems must have unit tests for its main components
- C#
- ASP.NET Core 7.0 / ASP.NET Core Web Api
- Entity Framework Core 7.0 (ORM)
- SQL Server
- ASP.NET Core Native DI
- OData Protocol
- Open Api Documentation
- Unit Tests
- Docker
- Swagger
- Fluent Assertion
- Fluent Validation
- Moq
- XUnit
- Bogus
- Microsoft OData
Clean Architecture
- Visual Studio
- Azure Data Studio
- Thunder Client (HTTP Client For VSCode)
- Git