{"id":23213785,"url":"https://github.com/nitin27may/clean-architecture-docker-dotnet-angular","last_synced_at":"2025-10-27T13:08:30.039Z","repository":{"id":46208503,"uuid":"407990189","full_name":"nitin27may/clean-architecture-docker-dotnet-angular","owner":"nitin27may","description":"A full-stack boilerplate with Angular 19 (frontend), .NET 9 (API), and MS SQL Server, following Clean Architecture principles. Fully containerized with Docker for efficient development and deployment, and styled with Bootstrap 5.","archived":false,"fork":false,"pushed_at":"2024-12-18T17:41:37.000Z","size":2091,"stargazers_count":32,"open_issues_count":1,"forks_count":8,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-12-18T18:37:45.401Z","etag":null,"topics":["angular19","bootstrap5","clean-architecture","docker","docker-compose","dotnet9","dotnetcore","net9","nginx","rbac","rolebasedauthrorization","webapi"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nitin27may.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-18T23:38:37.000Z","updated_at":"2024-12-18T17:41:41.000Z","dependencies_parsed_at":"2023-01-27T09:46:00.656Z","dependency_job_id":"8c5e19f3-eb2e-4825-ab57-cc0dbd89e025","html_url":"https://github.com/nitin27may/clean-architecture-docker-dotnet-angular","commit_stats":null,"previous_names":["nitin27may/clean-architecture-docker-dotnet-angular"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitin27may%2Fclean-architecture-docker-dotnet-angular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitin27may%2Fclean-architecture-docker-dotnet-angular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitin27may%2Fclean-architecture-docker-dotnet-angular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nitin27may%2Fclean-architecture-docker-dotnet-angular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nitin27may","download_url":"https://codeload.github.com/nitin27may/clean-architecture-docker-dotnet-angular/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230326767,"owners_count":18209050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["angular19","bootstrap5","clean-architecture","docker","docker-compose","dotnet9","dotnetcore","net9","nginx","rbac","rolebasedauthrorization","webapi"],"created_at":"2024-12-18T19:19:19.067Z","updated_at":"2025-10-27T13:08:29.969Z","avatar_url":"https://github.com/nitin27may.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Clean Architecture Full-Stack Starter: .NET, Angular, and PostgreSQL\r\n\r\n\u003c!-- \u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"docs/logo.png\" alt=\"Clean Architecture Logo\" width=\"150px\"\u003e\r\n  \u003cbr\u003e\r\n  \u003cem\u003eProduction-ready | Maintainable | Scalable\u003c/em\u003e\r\n\u003c/p\u003e --\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"https://github.com/nitin27may/clean-architecture-docker-dotnet-angular/actions/workflows/angular-build.yml\"\u003e\r\n    \u003cimg src=\"https://github.com/nitin27may/clean-architecture-docker-dotnet-angular/actions/workflows/angular-build.yml/badge.svg\" alt=\"Angular Build\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"https://github.com/nitin27may/clean-architecture-docker-dotnet-angular/actions/workflows/api-build.yml\"\u003e\r\n    \u003cimg src=\"https://github.com/nitin27may/clean-architecture-docker-dotnet-angular/actions/workflows/api-build.yml/badge.svg\" alt=\"API Build\"\u003e\r\n  \u003c/a\u003e\r\n  \u003ca href=\"LICENSE\"\u003e\r\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-blue.svg\" alt=\"MIT License\"\u003e\r\n  \u003c/a\u003e\r\n  \u003cimg src=\"https://img.shields.io/badge/Angular-19-DD0031.svg\" alt=\"Angular 20\"\u003e\r\n  \u003cimg src=\"https://img.shields.io/badge/.NET-9-512BD4.svg\" alt=\".NET 9\"\u003e\r\n  \u003cimg src=\"https://img.shields.io/badge/PostgreSQL-16-336791.svg\" alt=\"PostgreSQL 16\"\u003e\r\n\u003c/p\u003e\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \r\n![Application Demo](docs/screenshots/clean-architecture-demo.gif)\r\n  \r\n\u003cem\u003eContact Management Application with Role-Based Access Control\u003c/em\u003e\r\n\u003c/p\u003e\r\n\r\n## ✨ What is this?\r\n\r\nA production-ready **full-stack starter kit** built with modern technologies and best practices:\r\n\r\n- **Frontend**: Angular 20 with signals, Material Design, and TailwindCSS\r\n- **Backend**: .NET 9 API with Clean Architecture\r\n- **Database**: PostgreSQL with Dapper\r\n- **DevOps**: Docker, GitHub Actions, NGINX\r\n\r\nPerfect for developers who want to **focus on business logic** instead of configuring infrastructure.\r\n\r\n## 🏗️ Why Clean Architecture?\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"docs/screenshots/clean-architecture.png\" alt=\"Clean Architecture Diagram\" width=\"60%\"\u003e\r\n\u003c/p\u003e\r\n\r\nClean Architecture provides **significant benefits** for your application:\r\n\r\n- ✅ **Maintainability**: Separate concerns to make your code easier to understand and modify\r\n- ✅ **Testability**: Independent components that can be tested in isolation\r\n- ✅ **Flexibility**: Swap frameworks or technologies without rewriting your core business logic\r\n- ✅ **Scalability**: Grow your application with a clear structure that new team members can quickly understand\r\n\r\n[Clean Architecture Series](./docs/architecture-series.md) - Read more about it!\r\n\r\n## 🚀 Quick Start\r\n\r\n```bash\r\n# Clone the repository\r\ngit clone https://github.com/nitin27may/clean-architecture-docker-dotnet-angular.git clean-app\r\ncd clean-app\r\n\r\n# Create .env file (required)\r\ncp .env.example .env\r\n\r\n# Start all services with Docker Compose\r\ndocker-compose up\r\n```\r\n\r\n🔗 Then access:\r\n- Frontend: http://localhost\r\n- API: http://localhost/api\r\n- Swagger: http://localhost/swagger\r\n\r\n### 👤 Default Users\r\n\r\n| Username | Password | Role |\r\n|----------|----------|------|\r\n| nitin27may@gmail.com | P@ssword#321 | Admin |\r\n| editor@gmail.com | P@ssword#321 | Editor |\r\n| reader@gmail.com | P@ssword#321 | Reader |\r\n\r\n## 🔥 Key Features\r\n\r\n\u003ctable\u003e\r\n  \u003ctr\u003e\r\n    \u003ctd width=\"33%\"\u003e\r\n      \u003ch3\u003e📱 Modern Frontend\u003c/h3\u003e\r\n      \u003cul\u003e\r\n        \u003cli\u003eAngular 20 with standalone components\u003c/li\u003e\r\n        \u003cli\u003eSignal-based state management\u003c/li\u003e\r\n        \u003cli\u003eMaterial Design + TailwindCSS\u003c/li\u003e\r\n        \u003cli\u003eDark/light theme support\u003c/li\u003e\r\n        \u003cli\u003eResponsive mobile-first design\u003c/li\u003e\r\n         \u003cli\u003eRole Based Routing and Menu\u003c/li\u003e\r\n      \u003c/ul\u003e\r\n    \u003c/td\u003e\r\n    \u003ctd width=\"33%\"\u003e\r\n      \u003ch3\u003e🔒 Secure Backend\u003c/h3\u003e\r\n      \u003cul\u003e\r\n        \u003cli\u003eClean Architecture implementation\u003c/li\u003e\r\n        \u003cli\u003eGeneric Repository pattern\u003c/li\u003e\r\n        \u003cli\u003eJWT authentication\u003c/li\u003e\r\n        \u003cli\u003eRole-based permissions\u003c/li\u003e\r\n        \u003cli\u003eUser Activity Logging\u003c/li\u003e\r\n        \u003cli\u003eGolbal Exception Handling\u003c/li\u003e\r\n        \u003cli\u003ePostgreSQL with Dapper\u003c/li\u003e\r\n      \u003c/ul\u003e\r\n    \u003c/td\u003e\r\n    \u003ctd width=\"33%\"\u003e\r\n      \u003ch3\u003e🚢 DevOps Ready\u003c/h3\u003e\r\n      \u003cul\u003e\r\n        \u003cli\u003eDocker containerization\u003c/li\u003e\r\n        \u003cli\u003eGitHub Actions workflows\u003c/li\u003e\r\n        \u003cli\u003eNGINX reverse proxy\u003c/li\u003e\r\n        \u003cli\u003eMulti-environment configs\u003c/li\u003e\r\n        \u003cli\u003eDatabase migrations\u003c/li\u003e\r\n      \u003c/ul\u003e\r\n    \u003c/td\u003e\r\n  \u003c/tr\u003e\r\n\u003c/table\u003e\r\n\r\n## 🧩 Architecture\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003cimg src=\"docs/screenshots/architecture.png\" alt=\"Container Architecture\" width=\"80%\"\u003e\r\n  \u003cbr\u003e\r\n  \u003cem\u003eContainer Architecture Overview\u003c/em\u003e\r\n\u003c/p\u003e\r\n\r\n## 📚 Documentation\r\n\r\n📖 Comprehensive documentation is available:\r\n\r\n- [Development Guide](./docs/development-guide.md) - Get started with development\r\n- [Frontend Documentation](./docs/frontend.md) - Angular architecture details\r\n- [Backend Documentation](./docs/backend.md) - .NET API implementation\r\n- [Feature List](./docs/visual-feature-guide.md) - Detailed feature breakdown\r\n- [Clean Architecture Series](./docs/architecture-series.md) - In-depth articles\r\n- [Roadmap](./docs/roadmap.md) - Upcoming features\r\n\r\n\r\n## 🤝 Contributing\r\n\r\nWe welcome contributions! See our [contributing guide](./CONTRIBUTING.md) for details on how to get involved.\r\n\r\n## 📄 License\r\n\r\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\r\n\r\n## 📧 Contact\r\n\r\nFor questions or support, please contact Nitin Singh at nitin27may@gmail.com.\r\n\r\n## 🌟 Star the Repository\r\n\r\nIf you find this project useful, please consider giving it a star on GitHub to show your support!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitin27may%2Fclean-architecture-docker-dotnet-angular","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnitin27may%2Fclean-architecture-docker-dotnet-angular","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnitin27may%2Fclean-architecture-docker-dotnet-angular/lists"}