A clean, extensible .NET 9 solution , CQRS, and Clean Architecture principles.
Part of the Celestial Project Series
Celestial.Agency is a modular and layered .NET platform designed for enterprise-grade applications. It integrates ASP.NET Core 9, Entity Framework Core, and MediatR to deliver clean separation of concerns and high scalability.
⚙️ Note: This project is currently under active development — new features and modules are being added continuously.
Celestial.Agency/ │ ├── src/ │ ├── Celestial.Agency.Api/ # API Gateway (Presentation Layer) │ │ ├── Controllers/ # REST endpoints │ │ ├── Areas/ # Identity & Admin │ │ ├── Models/ # DTOs and ViewModels │ │ ├── Data/ # Identity & EF configurations │ │ ├── appsettings.json # Configurations │ │ └── Program.cs # Entry point │ │ │ ├── Celestial.Agency.Core/ # Domain Layer │ │ ├── DAL/ # Repositories and Interfaces │ │ │ ├── Model/ # Domain Entities │ │ │ └── Repositories/ # Repository interfaces │ │ ├── Enum/ # Enumerations │ │ ├── Attributes/ # Custom annotations │ │ ├── Services/ # Domain services contracts │ │ └── AppSetting.cs # Configuration models │ │ │ ├── Celestial.Agency.DAL.EF/ # Infrastructure Layer (EF Core) │ │ ├── Context/ # DbContext │ │ ├── Configuration/ # Fluent API setup │ │ ├── DependencyInjection/ # EF registration │ │ ├── Seeder/ # Initial data seeding │ │ ├── _01-add_migrations.cmd # Migration helper │ │ ├── _02-update_db.cmd # DB update helper │ │ └── _03-remove_db.cmd # Cleanup helper │ │ │ └── Celestial.Agency.Service/ # Application Layer │ ├── Command/ # CQRS Commands │ ├── CommandHandler/ # MediatR Handlers │ ├── Behavior/ # Pipeline behaviors │ ├── Service/ # App services │ └── Dependencies/ # DI registrations │ └── test/ # Future tests (Unit/Integration)
- Clean Architecture: Strict separation between layers
- CQRS + MediatR: Independent command/query handling
- DDD: Domain-driven modeling and encapsulation
- EF Core: Persistence layer following repository patterns
- Localization: Multi-language entity support via LocalizedProperty
- Command Query Responsibility Segregation (CQRS)
- Repository & Unit of Work Patterns
- Dependency Injection everywhere
- Scalable and modular system
| Layer | Technology |
|---|---|
| Framework | .NET 9.0 |
| ORM | Entity Framework Core |
| Architecture | Clean Architecture, CQRS |
| Communication | MediatR |
| Mapping | Mapster |
| Database | Microsoft SQL Server |
git clone https://github.com/GhoostSK/Celestial.Agency.git cd Celestial.Agency/src/Celestial.Agency.Api
Edit your appsettings.json:
"ConnectionStrings": {
"DefaultConnection": "Server=.;Database=CelestialAgency;Trusted_Connection=True;TrustServerCertificate=True;"
}
cd ../Celestial.Agency.DAL.EF dotnet ef database update
cd ../Celestial.Agency.Api dotnet run
➡️ API will be available at: https://localhost:5001/api
GET /api/en/Blog/GetBlogsList GET /api/en/Blog/GetBlogBySlug?slug=example
GET /api/en/Comment/GetCommentBySlug POST /api/en/Comment/AddComment
GET /api/en/Hotel/GetHotelById?id=1
- ✅ Blog Module
- ✅ Comment Module
- ✅ Hotel Module
- 🛠️ Admin Dashboard (in progress)
- 🛠️ Identity Management (in progress)
- 🛠️ Advanced Localization (in progress)
- 🛠️ Testing Layer (planned)
- Fork this repository
- Create a feature branch:
git checkout -b feature/my-feature - Commit and push your changes
- Open a Pull Request 🚀
This project is licensed under the MIT License. You’re free to use, modify, and distribute this software with proper credit.
sadra khoshnavaz
Open-source Contributor & Developer of the Celestial Series
📧 khoshnavazsadra@gmail.com
🔗 github.com/GhoostSK