- Create Customer
- Update Customer
- Delete Customer
- Search Customer
- The API allows to search by customer name. It will match either the first name or the last name regardless of case sensitivity.
The documentation of the API can be found in,
In here clean/onion architecture based design is used.
- Project Structure
You can find the unit tests in the below mentioned projects,
- Alinta.Services.UnitTests
This contains the unit tests which are specific to the services used.
- Alinta.DataAccess.EntityFramework.UnitTests
This contains the unit tests which are specific to the data access layer. As instructed in here it's using entity framework with an in-memory database.
- The solution is hosted in GitHub.
- Automatic CI/CD pipelines have been set to the
master
branch throughAzure DevOps
Two separate CI/CD pipelines have been configured (just for kicks!)
- A CI/CD pipeline will build and deploy the web API as an
Azure Web App
- A CI/CD pipeline will build the code then will create a docker image and pushes it to Docker Hub. Then it will use that image to host the web API as an
Azure Web App for Containers
.
- Azure Web App
The API has been deployed in Azure Web App
and, can be seen by visiting https://alintaapi.azurewebsites.net/index.html
- Using Docker
A docker image has been created for this API and it's also deployed as an Azure Web App for Containers
.
The docker image can be found by visiting this link https://hub.docker.com/r/cheranga/alintaapi
This can be seen by visiting https://alintadockerapi.azurewebsites.net/index.html
- Case insensitive search in EF core answer was found in https://stackoverflow.com/questions/43277868/entity-framework-core-contains-is-case-sensitive-or-case-insensitive