SitholeWB/social-media-api

SocialMedia is a comprehensive .NET solution built using Clean Architecture principles. It serves as the backend for a social media platform, managing core entities such as Users, Posts, Comments, Likes, and Polls.

C#

1

754 commits

updated Sep 15, 2026

See the code

README

SocialMedia

Overview

SocialMedia is a comprehensive .NET solution built using Clean Architecture principles. It serves as the backend for a social media platform, managing core entities such as Users, Posts, Comments, Likes, and Polls.

The service is designed to be scalable, maintainable, and testable, separating core business logic from external concerns.

Architecture

The project is organized into the following layers:

graph TD
    subgraph Core
        Domain[SocialMedia.Domain]
        Application[SocialMedia.Application]
    end

    subgraph Infrastructure
        Infra[SocialMedia.Infrastructure]
        Persistence[Persistence / DB]
    end

    subgraph Presentation
        API[SocialMedia.API]
        FilesAPI[SocialMedia.Files.API]
        Admin[SocialMedia.Admin]
    end

    API --> Application
    FilesAPI --> Application
    Admin -.->|HTTP| API
    Admin -.->|HTTP| FilesAPI
    Application --> Domain
    Infra --> Application
    Infra --> Domain
    Infra --> Persistence
  • Domain: Contains enterprise logic and entities. No external dependencies.
  • Application: Contains business logic and use cases (CQRS Commands and Queries). Depends only on Domain.
  • Infrastructure: Implements interfaces defined in Application/Domain (e.g., Repositories, External Services).
  • API: The main REST API entry point for the application.
  • Files.API: Microservice for file upload/download with database sharding support.
  • Admin: React-based SPA for system administration and monitoring.

Getting Started

Prerequisites

Build

To build the entire solution:

dotnet build

Run

To run the API project:

dotnet run --project SocialMedia.API

The API will be available at https://localhost:7057 (or similar, check console output).

Documentation

Detailed documentation is available in the docs/ folder:

clean-architecture
cqrs
cqrs-pattern
design-patterns
event-driven
event-sourcing
onion-architecture
solid-principles
vibe-coding

SitholeWB/social-media-api

SocialMedia is a comprehensive .NET solution built using Clean Architecture principles. It serves as the backend for a social media platform, managing core entities such as Users, Posts, Comments, Likes, and Polls.

C#

1

754 commits

updated Sep 15, 2026

See the code

README

SocialMedia

Overview

SocialMedia is a comprehensive .NET solution built using Clean Architecture principles. It serves as the backend for a social media platform, managing core entities such as Users, Posts, Comments, Likes, and Polls.

The service is designed to be scalable, maintainable, and testable, separating core business logic from external concerns.

Architecture

The project is organized into the following layers:

graph TD
    subgraph Core
        Domain[SocialMedia.Domain]
        Application[SocialMedia.Application]
    end

    subgraph Infrastructure
        Infra[SocialMedia.Infrastructure]
        Persistence[Persistence / DB]
    end

    subgraph Presentation
        API[SocialMedia.API]
        FilesAPI[SocialMedia.Files.API]
        Admin[SocialMedia.Admin]
    end

    API --> Application
    FilesAPI --> Application
    Admin -.->|HTTP| API
    Admin -.->|HTTP| FilesAPI
    Application --> Domain
    Infra --> Application
    Infra --> Domain
    Infra --> Persistence
  • Domain: Contains enterprise logic and entities. No external dependencies.
  • Application: Contains business logic and use cases (CQRS Commands and Queries). Depends only on Domain.
  • Infrastructure: Implements interfaces defined in Application/Domain (e.g., Repositories, External Services).
  • API: The main REST API entry point for the application.
  • Files.API: Microservice for file upload/download with database sharding support.
  • Admin: React-based SPA for system administration and monitoring.

Getting Started

Prerequisites

Build

To build the entire solution:

dotnet build

Run

To run the API project:

dotnet run --project SocialMedia.API

The API will be available at https://localhost:7057 (or similar, check console output).

Documentation

Detailed documentation is available in the docs/ folder:

clean-architecture
cqrs
cqrs-pattern
design-patterns
event-driven
event-sourcing
onion-architecture
solid-principles
vibe-coding