Book Author CRUD (TEST PROJECT)


  • Develop a WebApi based on a DDD Pattern in .Net6

  • Develop a Angular CRUD Application to maintain the data with validation in front and backend ( use FluentValidation Syntax in Both)

  • The Angular Application also should have a overview with an grid

  • The Application should be startable with a docker-compose and checkable


Requirements to run the project

How to run

Optionals Configurations


  • You can change the connection string in the following file if you want to use another database:
// Go to the backend folder

cd backend

// Go to the BookAuthorCRUD folder

cd BookAuthorCRUD

 // Open the appsettings.json file and change the following line:

"ConnectionStrings": {
    "DefaultConnection": "YOUR_CONNECTION_STRING"
  }

  • If you want to use another connection string, using the docker-compose.yml file, change the following environment variables:
# CONNECTION STRING

- ASPNETCORE_CONNECTIONSTRING = YOUR_CONNECTION_STRING

# OR INMEMORY DATABASE

- ASPNETCORE_USEINMEMORYDATABASE = true


Using Docker

  • Open the terminal and go to the root folder of the project

  • Run the following command:

# Run the containers

docker-compose up

# or

docker compose up
  • After the containers are up, open the browser and go to the following url:
http://localhost:8080

Using the terminal

  • To run the frontend side, open the terminal and execute one by one the following commands:
# Go to the frontend folder

cd frontend

# Install the dependencies

npm install

# Run the frontend

ng serve
  • To run the backend side, open the terminal and execute one by one the following commands:
# Go to the backend folder

cd backend

# Go to the BookAuthorCRUD folder

cd BookAuthorCRUD

# Run the migrations
dotnet tool install --global dotnet-ef

dotnet ef database update

# Go to the root folder

cd ..

dotnet run --project BookAuthorCRUD

Tools and technologies

This is a test project I called Book App, which is an app that is using the following technologies:

# Frontend

- Angular 16
- Bootstrap 5.3
- Angular Material 16
- Axios
- FluentValidation-ts

# Backend

- .NET 6
- Entity Framework Core 7
- SQL Server 2019
- CQRS
- MediatR
- AutoMapper
- FluentValidation
- LanguageExt
- Docker
- DDD (Domain Driven Design)
- Unit Testing (xUnit)

Made with ❤ by Jean Carlos Reyes Encarnacion ~ Book Author CRUD