Introduction to FullStackHero .NET 8 Starter Kit π
The FullStackHero .NET 8 Starter Kit is an innovative framework designed to lay the groundwork for developing robust .NET 8 projects using the principles of Clean Architecture. It consolidates a range of essential packages and features that are fundamental for modern application development, including built-in support for Multi-Tenancy. By utilizing this starter kit, development teams can potentially save over 200 hours typically spent on initial setup and configuration tasks.
Project Status
Currently, the project is still under development, which means that the corresponding NuGet package for version 2 is unavailable at this time. Developers interested in exploring this starter kit can fork the repository and try it out directly. Regular updates about the project's progress are shared by following @iammukeshm on X.
Quick Start Guide
With the project in its beta phase and no NuGet packages ready, interested users can clone the repository to experiment with the project. Below are the prerequisites and steps needed to get started:
Prerequisites
- .NET 8 SDK
- Visual Studio IDE
- Docker Desktop
- A running instance of PostgreSQL, either locally or within a Docker container
Setup Steps
- Fork the Repository: Start by forking the project to your local development environment.
- Open the Solution: Navigate to
./src/FSH.Starter.sln
to open the FullStackHero Starter solution. The solution comprises three core components:- Aspire Dashboard (set as the default project)
- Web API
- Blazor Client
- Configure the API Connection: Update the connection string for the API found in
./src/api/server/appsettings.Development.json
underDatabaseOptions
, and save the changes. - Run the Solution: Execute the application using Visual Studio, ensuring Aspire is the default project. This action will launch:
- Aspire Dashboard at
https://localhost:7200/
- API at
https://localhost:7000/swagger/index.html
- Blazor Client at
https://localhost:7100/
- Aspire Dashboard at
π Project Features
β¨ Technologies Used
- ASP.NET Core 8
- Entity Framework Core 8
- Blazor
- MediatR
- PostgreSQL
- Redis
- FluentValidation
π¨βπ Architecture
The project employs a clear and structured architecture that aligns with modern best practices in software development.
π¬ Service Endpoints
Endpoint | Method | Description |
---|---|---|
/token | POST | Generates Token. |
π§ͺ Running Locally
This kit offers guidance to run and test the application locally, ensuring a smooth development and testing phase.
π³ Docker Support
Docker support is integrated, allowing for streamlined deployment and containerized application management.
βοΈ Cloud Deployment on AWS
Instructions for deploying the application to AWS provide a blueprint for launching robust cloud-based services.
π€ Community Contributions
The project thrives on community support, with contributions welcomed and appreciated. Developers are encouraged to submit pull requests to join the community.
π Developer Notes
Add Migrations
Developers can add database migrations through the following commands executed in the ./api/server
directory:
dotnet ef migrations add "Add Identity Schema" --project .././migrations/postgresql/ --context IdentityDbContext -o Identity
dotnet ef migrations add "Add Tenant Schema" --project .././migrations/postgresql/ --context TenantDbContext -o Tenant
dotnet ef migrations add "Add Todo Schema" --project .././migrations/postgresql/ --context TodoDbContext -o Todo
dotnet ef migrations add "Add Catalog Schema" --project .././migrations/postgresql/ --context CatalogDbContext -o Catalog
Pending Development
Certain features are still in development, including:
- Additional Identity Endpoints
- Enhancements to the Blazor Client
- File Storage Service
- NuGet Generation Pipeline
- Source Code Generation
- Search and Sort Functionality
βοΈ MIT License
The project is open-source and licensed under the MIT License, promoting collaboration and development within the .NET community.