This project is a Domain Driven Design project . It is an Appointment systm built with MVC ASP.NET Core and Abp framework following the principles of Clean Architecture and industry standards.
- .NET Core 5.0
- ASP .NET Core 5.0
- Abp Framework 4.2
- Entity Framework Core
- AutoMapper
- XUnit,Shouldy , NSubstitute
If you using SQL Server , Verify that the DefaultConnection connection string within appsettings.json in the web project and the DbMigrator project points to a valid SQL Server instance.
To use dotnet-ef
for your migrations please add the following flags to your commands (I am assuming you are executing from the solution directory)
-p src/DoctorAsh.EntityFrameworkCore.DbMigrations
-s src/DoctorAsh.Web
For example, to add a new migration from the root folder:
dotnet ef migrations add "MIGRATION_NAME" -p src/DoctorAsh.EntityFrameworkCore.DbMigrations -s src/DoctorAsh.Web
to run migrations you could easily do :
dotnet ef database update -p src/DoctorAsh.EntityFrameworkCore.DbMigrations -s src/DoctorAsh.Web
or go to the DbMigrator project and run type dotnet run
- Navigate to solution folder
- Open Terminal
- run
dotnet restore
- Navigate to
src/DoctoAsh.Web
and rundotnet run
This will contain all Aggregates and entities ,Business rules ,Business services , Business exceptions, interfaces,Shared types.
This layer contains all application logic, acts as a facade the presentation ,it basically glues all the layers together. It depends on the domain layer, but has no dependencies on any other layer or project. This layer defines interfaces that are implemented by outside layers. For example, if the application need to access a notification service, a new interface would be added to application .
This layer contains classes for accessing external resources such as file systems, web services,Storage
The Client that will be presentedto the User ,this can be a website or a mobile application or Desktop application