UserManagement is a modular ASP.NET Core 9.0 project for managing users, roles, and related data. It follows a clean architecture with separation of concerns across ApplicationCore, Infrastructure, and PublicApi layers.
UserManagement/
├── UserManagement.slnx # Solution file
├── ApplicationCore/ # Domain models, interfaces, business logic
│ ├── Entity/ # Entity classes (e.g., User, Role)
│ ├── Repository/ # Repository interfaces
│ ├── Services/ # Domain services
│ ├── Filter/
│ ├── Specification/
│ └── ApplicationCore.csproj
├── Infrastructure/ # Data access, repository implementations
│ ├── Data/ # Database context, migrations
│ ├── Repository/ # Repository implementations
│ ├── Services/ # Infrastructure services
│ └── Infrastructure.csproj
└── PublicApi/ # ASP.NET Core Web API
├── Controller/ # API controllers
├── dto/ # Data transfer objects
├── appsettings.json # App configuration
├── Program.cs # API entry point
└── PublicApi.csproj
- .NET 9.0
- ASP.NET Core Web API
- Clean Architecture
- OpenAPI/Swagger (via Microsoft.AspNetCore.OpenApi)
- Restore dependencies:
dotnet restore UserManagement.slnx
- Build the solution:
dotnet build UserManagement.slnx
- Run the API:
dotnet run --project PublicApi/PublicApi.csproj
- Access the API:
- Swagger UI: https://localhost:5001/swagger (if enabled)
- Example endpoint:
GET /weatherforecast
- API settings:
PublicApi/appsettings.json - Logging, environment, and other settings can be adjusted as needed.
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
MIT (add a LICENSE file if needed)