Contact Management Application with Role-Based Access Control
A production-ready full-stack starter kit built with modern technologies and best practices:
- Frontend: Angular 19 with signals, Material Design, and TailwindCSS
- Backend: .NET 9 API with Clean Architecture
- Database: PostgreSQL with Dapper
- DevOps: Docker, GitHub Actions, NGINX
Perfect for developers who want to focus on business logic instead of configuring infrastructure.
Clean Architecture provides significant benefits for your application:
- ✅ Maintainability: Separate concerns to make your code easier to understand and modify
- ✅ Testability: Independent components that can be tested in isolation
- ✅ Flexibility: Swap frameworks or technologies without rewriting your core business logic
- ✅ Scalability: Grow your application with a clear structure that new team members can quickly understand
Clean Architecture Series - Read more about it!
# Clone the repository
git clone https://github.com/nitin27may/clean-architecture-docker-dotnet-angular.git clean-app
cd clean-app
# Create .env file (required)
cp .env.example .env
# Start all services with Docker Compose
docker-compose up
🔗 Then access:
- Frontend: http://localhost
- API: http://localhost/api
- Swagger: http://localhost/swagger
Username | Password | Role |
---|---|---|
[email protected] | P@ssword#321 | Admin |
[email protected] | P@ssword#321 | Editor |
[email protected] | P@ssword#321 | Reader |
|
|
|
Container Architecture Overview
📖 Comprehensive documentation is available:
- Development Guide - Get started with development
- Frontend Documentation - Angular architecture details
- Backend Documentation - .NET API implementation
- Feature List - Detailed feature breakdown
- Clean Architecture Series - In-depth articles
- Roadmap - Upcoming features
We welcome contributions! See our contributing guide for details on how to get involved.
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support, please contact Nitin Singh at [email protected].
If you find this project useful, please consider giving it a star on GitHub to show your support!