Skip to content

A modern, full-stack solution featuring Angular 19 frontend with signals and standalone components paired with a .NET 9 backend following Clean Architecture principles. Includes role-based access control, activity logging, and Docker containerization. Built with PostgreSQL, Material Design, and TailwindCSS for robust, scalable web applications.

License

Notifications You must be signed in to change notification settings

nitin27may/clean-architecture-docker-dotnet-angular

Repository files navigation

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

Angular Build API Build MIT License Angular 19 .NET 9 PostgreSQL 16

Application Demo

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 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.

🏗️ 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 - Read more about it!

🚀 Quick Start

# 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:

👤 Default Users

Username Password Role
[email protected] P@ssword#321 Admin
[email protected] P@ssword#321 Editor
[email protected] P@ssword#321 Reader

🔥 Key Features

📱 Modern Frontend

  • Angular 19 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:

🤝 Contributing

We welcome contributions! See our contributing guide for details on how to get involved.

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

📧 Contact

For questions or support, please contact Nitin Singh at [email protected].

🌟 Star the Repository

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

About

A modern, full-stack solution featuring Angular 19 frontend with signals and standalone components paired with a .NET 9 backend following Clean Architecture principles. Includes role-based access control, activity logging, and Docker containerization. Built with PostgreSQL, Material Design, and TailwindCSS for robust, scalable web applications.

Topics

Resources

License

Stars

Watchers

Forks