Sign inSign up

blazordevlab/cleanaspire-clientapp

By blazordevlab

•Updated almost 2 years ago

CleanAspire - Modern .NET 9 Minimal API + Blazor WebAssembly PWA Template

Image
API management
Content management system
Databases & storage
0

616

blazordevlab/cleanaspire-clientapp repository overview

⁠CleanAspire - Modern .NET 9 Minimal API + Blazor WebAssembly PWA Template

.NET CodeQL Build and Push Docker Image

blazorclient

⁠Overview

CleanAspire is a cutting-edge open-source project combining the latest .NET 9 Minimal API with Blazor WebAssembly, all organized with the principles of Clean Architecture. This template is built to accelerate the development of scalable and maintainable Progressive Web Applications (PWA) while keeping the codebase neat, modular, and future-proof.

⁠Features
  • .NET 9 Minimal API for lightweight, high-performance backend services.
  • Blazor WebAssembly for a modern, responsive client-side PWA.
  • Clean Architecture principles to promote separation of concerns, maintainability, and scalability.
  • Minimal Boilerplate for developers to jump-start their projects without repetitive setup.
  • RESTful APIs that are efficient and easy to use.
  • Strong Typing throughout the client and server to leverage the full power of C#.
  • Ready-to-Deploy template for Azure, AWS, Docker, and other cloud platforms.
⁠Why CleanAspire?
  • Speed Up Development: Start coding your features instead of setting up boilerplate code.
  • Modern and Performant: Benefit from .NET 9's new features and the rich interactivity of Blazor WebAssembly as a PWA.
  • Modular and Testable: Clean Architecture makes maintaining and testing your project a breeze.
  • Community-driven: CleanAspire is open-source, encouraging contributions and collaboration from developers worldwide.
⁠OpenAPI documentation
⁠Here is an example of a docker-compose.yml file for a local Docker deployment:
version: '3.8'
services:
  apiservice:
    image: blazordevlab/cleanaspire-api:0.0.31
    environment:
      - ASPNETCORE_ENVIRONMENT=Development
      - AllowedHosts=*
      - ASPNETCORE_URLS=http://+:80;https://+:443
      - ASPNETCORE_HTTP_PORTS=80
      - ASPNETCORE_HTTPS_PORTS=443
      - DatabaseSettings__DBProvider=sqlite
      - DatabaseSettings__ConnectionString=Data Source=CleanAspireDb.db
      - AllowedCorsOrigins=https://cleanaspire.blazorserver.com,https://localhost:7123
      - SendGrid__ApiKey=<your API key>
      - SendGrid__DefaultFromEmail=<your email>
    ports:
      - "8019:80"
      - "8018:443"


  webfrontend:
    image: blazordevlab/cleanaspire-clientapp:0.0.31
    ports:
      - "8016:80"
      - "8017:443"



⁠Quick Start
  1. Clone the Repo:

    git clone https://github.com/neozhu/cleanaspire.git
    
  2. Navigate to the Project Folder:

    cd CleanAspire
    
  3. Run the Application:

    dotnet run
    
  4. Access the Application: Open your browser and go to https://localhost:5001 to see the Blazor WebAssembly PWA in action.

⁠Architecture

CleanAspire is structured following the Clean Architecture approach, dividing the solution into distinct layers:

CleanAspire/
│
├── src/
│   ├── CleanAspire.Api/                # API Layer - .NET Minimal API
│   ├── CleanAspire.Application/        # Application Layer - Business Logic
│   ├── CleanAspire.WebAssembly/        # UI Layer - Blazor WebAssembly (PWA)
│   ├── CleanAspire.Infrastructure/     # Infrastructure Layer - Data Access, External Services
│   ├── CleanAspire.Domain/             # Domain Layer - Core Entities, including EF entities
│   ├── CleanAspire.AppHost/            # Hosting Layer - Application hosting and configuration
│   └── CleanAspire.ServiceDefaults/    # Service Defaults - Predefined configurations for services
│
├── tests/
│   ├── CleanAspire.Application.Tests/  # Unit Tests for Application Layer
│   ├── CleanAspire.Api.Tests/          # Integration Tests for API Layer
│   └── CleanAspire.WebAssembly.Tests/  # UI Tests for Blazor WebAssembly
│
├── README.md                           # Project README
├── LICENSE                             # License Information
└── CleanAspire.sln                     # Solution File for Visual Studio / VS Code
⁠Contributions

Contributions are welcome! If you want to add features, report bugs, or just suggest improvements, please feel free to submit issues or pull requests.

⁠License

This project is licensed under the MIT License⁠.

⁠Get Involved
  • Star the Repository: If you like CleanAspire, please give it a star! 🌟
  • Follow the Project: Stay updated with the latest developments by watching the repository.
  • Join Discussions: Share your thoughts and ideas to make CleanAspire even better.
⁠Contact

Feel free to reach out if you have questions or feedback. Let's build something amazing together with CleanAspire!

Tag summary

Content type

Image

Digest

sha256:6bfd71bb8…

Size

36 MB

Last updated

almost 2 years ago

docker pull blazordevlab/cleanaspire-clientapp:0.0.50