Feel Free to Clone the Project and try it out.
v1.1 - Beta Release - Clone the Repository to get the latest codebase
v1.0 - Beta Release - Download Beta-V1.0 Release
- add fluent validation
- added product images
- UI improvement
- activity log integration
- added toast notification
The Basic Idea is to save hours of development time. The users should be able to start off from the point all the technical aspects are already covered. The only thhing we need to worry is about implementing the Business Logic. I am planning this Project to have 2 realms - A Fluid UI Based ASP.NET Core 3.1 Razor Project and a WebAPI Project that provided data to public via valid JWT.
If you found this Implementation helpful or used it in your Projects, do give it a star. Thanks! Or, If you are feeling really generous, Support the Project with a small contribution!
- ASP.NET Core 3.1 Razor Pages / Controllers / Web API
- Entity Framework Core
- MSSQL (Supports other RDBMS too)
- Javascript / JQuery
- Bootstrap 4 / AdminLTE
- Make sure you have EF CLI Tools installed. Open up Powershell and run the following command
dotnet tool install --global dotnet-ef
- Clone this Repository and Extract it to a Folder.
- Change the Connection Strings for the Application and Identity in the PublicAPI/appsettings.json and Web/appsettings.json
- Run the following commands on Powershell in the Web Project's Directory.
dotnet restore
dotnet ef database update -c ApplicationContext
dotnet ef database update -c IdentityContext
dotnet run
(OR) Run the Solution using Visual Studio 2019
PS - If the above code doesnt work for some reason, try using -c instead of -context or vice versa.
Check out my blog or say Hi on Twitter!
As soon you build and run your application, default users and roles get added to the database.
Default Roles are as follows.
- SuperAdmin
- Admin
- Moderator
- Basic
Here are the credentials for the default users.
- Email - superadmin@gmail.com / Password - 123Pa$$word!
- Email - basic@gmail.com / Password - 123Pa$$word!
- ASP.NET Core 3.1 Razor Project with Identity
- ASP.NET Core 3.1 WebAPI Public API Project with JWT Auth
- Application Layer
- Domain Layer
- Infrastructure.Shared Layer
- Infrastructure.Persistence Layer
Check out a Diagramatic Representation of the Architecture here
- Onion / Hexagonal Architecture
- Clean Code Practices
- CQRS with MediatR
- Cached Repository with In-Memory Caching and Redis Caching
- Generic Repository with Unit Of Work Pattern
- Complete User Management Module*
- Role Management* (Add / Edit / Delete Roles)
- Add Roles to Users
- Automapper
- Validation
- Auditable Entity (Track Changes on any Entity based on User and DateTime)
- Policy Based Permission Management*
- Mail Service
- Project Wise
- CRUD on Product Entity Implemented for Reference
- DARK Mode
- MultiLingual
- Fluid UI - Blazing Fast
- AdminLTE
- Responsive & Clean Design
- RTL Support for Arabic Scripts
- Cookie Authentication
- Default User / Roles / Claims Seeding
- Serilog Logging
- Super Quick CRUD with Razor Page / Partial Views and JQuery
- jQuery Datatable
- Bootstrap Modal
- JWT Authentication
- Doesnot depend on the UI Project - Should run Individually
- CQRS Approach to communicate with Application Layer
- Response Wrappers
- Swagger UI with Bearer Auth
- API Versioning
- Not yet used*
and much more. Feel Free to Clone the Project and try it out. Raise any issues / requests that you may find.
Support This Project to keep it active.
Having any issues or troubles getting started? Get in touch with me or Raise a Bug or Feature Request. Always happy to help.
- Blogs at codewithmukesh.com
- Facebook - codewithmukesh
- Twitter - Mukesh Murugan
- Twitter - codewithmukesh
- Linkedin - Mukesh Murugan
iammukeshm/AspNetCoreHero-Boilerplate Project is licensed with the MIT License.