This repository contains a .NET 6 solution for a web application platform with user, role, and permission management, database migrations, and Docker-based deployment. The solution is modular, supporting PostgreSQL by default, and is ready for extension.
Ntech.WebApp/— Main ASP.NET Core MVC web applicationNtech.Migration/— Database migration tool using DbUpNtech.Libraries/— Shared utility librariesdocker-compose.yml— Multi-container orchestration for the app and database
- User, Role, and Permission management (with SuperAdmin role)
- Dashboard, Applications, Assets, Devices management (controllers scaffolded)
- Database seeding for default roles and users
- Session, authentication, and email sending support
- Dockerized for easy deployment
- .NET 6 SDK
- Docker
- PostgreSQL (default, but can be switched to MySQL/SQL Server)
dotnet build Ntech.WebApp.sln
dotnet run --project Ntech.WebApp/Ntech.WebApp.csprojdotnet run --project Ntech.Migration/Ntech.Migration.csproj ntech-databasedocker-compose -f docker-compose.yml -f docker-compose.override.yml up -d --build- Update connection strings in
Ntech.WebApp/appsettings.jsonandNtech.Migration/appsettings.json. - Default PostgreSQL connection:
"Server=localhost;Port=5432;Database=postgres;User Id=postgres;Password=P@ssw0rd;" - MailJet API keys and other settings are also in
appsettings.json.
/Dashboard— Main dashboard (requires authentication)/Users— User management (requires authentication)/Roles— Role management (SuperAdmin only)/UserRoles— Assign roles to users (SuperAdmin only)/Permission— Manage role permissions (SuperAdmin only)/Applications,/Assets,/Devices— Scaffolded controllers for future expansion
ntech-web-app— Built fromNtech.WebApp/Dockerfilentech-web-migration— Built fromNtech.Migration/Dockerfilepostgresql— Official Postgres image
- The solution is ready for extension with more features and endpoints.
- For production, update secrets and connection strings accordingly.