An open API service indexing awesome lists of open source software.

https://github.com/nitin27may/clean-architecture-docker-dotnet-angular

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.
https://github.com/nitin27may/clean-architecture-docker-dotnet-angular

angular19 bootstrap5 clean-architecture docker docker-compose dotnet9 dotnetcore net9 nginx rbac rolebasedauthrorization webapi

Last synced: 5 months ago
JSON representation

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.

Awesome Lists containing this project

README

          

# 🚀 Clean Architecture Full-Stack Starter: .NET, Angular, and PostgreSQL



Angular Build


API Build


MIT License

Angular 20
.NET 9
PostgreSQL 16



![Application Demo](docs/screenshots/clean-architecture-demo.gif)

Contact Management Application with Role-Based Access Control

## ✨ What is this?

A production-ready **full-stack starter kit** built with modern technologies and best practices:

- **Frontend**: Angular 20 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.

## 🏗️ Why Clean Architecture?


Clean Architecture Diagram

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](./docs/architecture-series.md) - Read more about it!

## 🚀 Quick Start

```bash
# 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

### 👤 Default Users

| Username | Password | Role |
|----------|----------|------|
| nitin27may@gmail.com | P@ssword#321 | Admin |
| editor@gmail.com | P@ssword#321 | Editor |
| reader@gmail.com | P@ssword#321 | Reader |

## 🔥 Key Features



📱 Modern Frontend



  • Angular 20 with standalone components

  • Signal-based state management

  • Material Design + TailwindCSS

  • Dark/light theme support

  • Responsive mobile-first design

  • Role Based Routing and Menu




🔒 Secure Backend



  • Clean Architecture implementation

  • Generic Repository pattern

  • JWT authentication

  • Role-based permissions

  • User Activity Logging

  • Golbal Exception Handling

  • PostgreSQL with Dapper




🚢 DevOps Ready



  • Docker containerization

  • GitHub Actions workflows

  • NGINX reverse proxy

  • Multi-environment configs

  • Database migrations



## 🧩 Architecture


Container Architecture


Container Architecture Overview

## 📚 Documentation

📖 Comprehensive documentation is available:

- [Development Guide](./docs/development-guide.md) - Get started with development
- [Frontend Documentation](./docs/frontend.md) - Angular architecture details
- [Backend Documentation](./docs/backend.md) - .NET API implementation
- [Feature List](./docs/visual-feature-guide.md) - Detailed feature breakdown
- [Clean Architecture Series](./docs/architecture-series.md) - In-depth articles
- [Roadmap](./docs/roadmap.md) - Upcoming features

## 🤝 Contributing

We welcome contributions! See our [contributing guide](./CONTRIBUTING.md) for details on how to get involved.

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## 📧 Contact

For questions or support, please contact Nitin Singh at nitin27may@gmail.com.

## 🌟 Star the Repository

If you find this project useful, please consider giving it a star on GitHub to show your support!