Skip to content

Cargonerds Documentation

Welcome to the comprehensive documentation for the Cargonerds application - a modern, cloud-ready logistics and shipment management platform built with the ABP Framework and .NET Aspire.

What is Cargonerds?

Cargonerds is a modular, layered application built on top of the ABP Framework, following Domain-Driven Design (DDD) principles and best practices. It provides a complete solution for managing shipments, organizations, documents, and logistics operations with a focus on scalability, maintainability, and modern cloud deployment.

Key Features

  • Modular Architecture: Built with ABP's modular system for clean separation of concerns
  • Domain-Driven Design: Implements DDD patterns including entities, aggregates, repositories, and domain services
  • Multi-Tenancy: Full support for SaaS applications with data isolation
  • Microservices Ready: Tiered architecture allows services to be deployed independently
  • Cloud Native: Integrated with .NET Aspire for cloud-ready orchestration
  • Modern UI: Blazor WebAssembly for rich, interactive user experiences
  • Comprehensive API: RESTful and gRPC APIs for all business operations
  • Authentication & Authorization: OpenIddict-based OAuth 2.0 implementation
  • Localization: Multi-language support out of the box

Architecture Overview

The solution follows a layered architecture pattern:

┌─────────────────────────────────────────┐
│         Presentation Layer              │
│   (Blazor, Web.Public, API Clients)    │
├─────────────────────────────────────────┤
│         Application Layer               │
│    (App Services, DTOs, Contracts)     │
├─────────────────────────────────────────┤
│           Domain Layer                  │
│  (Entities, Aggregates, Domain Services)│
├─────────────────────────────────────────┤
│        Infrastructure Layer             │
│  (EF Core, Caching, External Services)  │
└─────────────────────────────────────────┘

Main Components

  • Cargonerds Module: Core application with books management and foundational services
  • Hub Module: Comprehensive shipment and logistics management system
  • AuthServer: OpenIddict authentication and authorization server
  • API Host: RESTful and gRPC API endpoints
  • Blazor App: Client-side WebAssembly application
  • Public Web: Public-facing ASP.NET Core MVC site

Technology Stack

  • .NET 9.0: Modern, high-performance framework
  • ABP Framework: Application framework with built-in modules
  • .NET Aspire: Cloud-ready orchestration and observability
  • Entity Framework Core: Object-relational mapping
  • OpenIddict: OAuth 2.0 authorization server
  • Blazor WebAssembly: Client-side web UI
  • SQL Server: Primary database
  • Redis: Distributed caching
  • RabbitMQ: Message broker

For Developers

For Architects

For DevOps

Documentation Structure

This documentation is organized into the following sections:

  • Getting Started: Installation, prerequisites, and quick start guides
  • Architecture: System design, patterns, and architectural decisions
  • Modules: Detailed documentation for each module in the solution
  • Domain Layer: Domain-driven design implementation
  • Application Layer: Application services and business logic
  • Services Reference: API documentation for all services
  • Infrastructure: Database, caching, and infrastructure concerns
  • API: REST and gRPC API documentation
  • UI: User interface components and customization
  • Development: Development workflows, testing, and debugging
  • Deployment: Deployment guides for various environments
  • Reference: Configuration, permissions, and CLI reference

Getting Help

Contributing

We welcome contributions! Please see our contributing guidelines in the repository.

License

This project is proprietary. All rights reserved.