This repository, is a sample of my knowledge and programming skills and the main purpose is collecting email addresses in mailing group. Every user has his own mailing groups.
- ASP .NET Core 5.0
- Microsoft SQL Server database
- Entity Framework Core
- NUnit with NSubstitute mocking framework
- Inversion of Control (IoC)
- MediatR
- OAS - Swagger
- JWT as a method of vuser verification
- User
- POST /api/User/register
- POST /api/User/login
- Mailing group
- POST /api/MailingGroup
- PUT /api/MailingGroup/:mailingGroupId
- DELETE /api/MailingGroup/:mailingGroupId
- GET /api/MailingGroup
- GET /api/MailingGroup/:mailingGroupId
- Email address
- POST /api/EmailAddress
- PUT /api/EmailAddress/:emailAddressId
- DELETE /api/EmailAddress/:emailAddressId
- GET /api/EmailAddress
- GET /api/EmailAddress/:emailAddressId
- GET /api/EmailAddress?mailingGroupId={mailingGroupId}
I've attached exported collection of requests for Postman which can be found in 'Extras' folder ( here )
The "MailingGroup" Solution consists of multiple projects, its with his own purpose.
- Api - This is the main application written in .NET 5.0
- Business - business logic like handlers for endpoints(consumed by the Api)
- Contracts - interfaces for other elements in solution
- EF.SqlServer - database communication via EFCore
- Utilities - a set of utility functions
- Business.Tests and Utilities.Tests - Unit tests
- UI
- Shared mailing groups with other users