Skip to content

WabiSabikk/CreatorHub

Repository files navigation

CreatorHub

A community platform for content creators to connect, collaborate, and find services. Creators can publish topics across 9 service categories, build portfolios, leave reviews, follow each other, and engage through posts and comments.

Tech Stack

  • .NET 9 / ASP.NET Core
  • Blazor (SSR + Interactive Server + WebAssembly)
  • Entity Framework Core (SQLite by default)
  • ASP.NET Identity (cookie-based authentication)
  • FluentValidation for request validation
  • AutoMapper for object mapping
  • Fluxor for client-side state management
  • Serilog for structured logging
  • xUnit for testing

Architecture

The project follows Clean Architecture principles with clear separation of concerns:

CreatorHub.sln
├── CreatorHub/                     # Presentation layer (Blazor app)
│   ├── CreatorHub/                 # Server-side host (SSR + API endpoints)
│   │   ├── Components/             # Razor components (pages, layout, shared)
│   │   ├── Endpoints/              # Minimal API endpoints
│   │   ├── Store/                  # Fluxor state management
│   │   └── wwwroot/                # Static assets (CSS, JS)
│   └── CreatorHub.Client/          # WebAssembly client (localization, services)
│
├── CreatorHub.Application/         # Application layer
│   ├── Interfaces/                 # Service & repository contracts
│   ├── Services/                   # Business logic implementations
│   ├── Validators/                 # FluentValidation validators
│   └── Mappers/                    # AutoMapper profiles
│
├── CreatorHub.Infrastructure/      # Infrastructure layer
│   ├── Data/                       # DbContext, EF configurations
│   ├── Repositories/               # Repository implementations
│   ├── Migrations/                 # EF Core migrations
│   └── Initialization/             # Database seeding
│
├── CreatorHub.Domain/              # Domain layer (CreatorHubDB/)
│   ├── Entities/                   # Domain entities
│   ├── Enums/                      # Domain enumerations
│   └── Interfaces/                 # Domain-level interfaces
│
├── CreatorHub.Contracts/           # Shared contracts
│   ├── Constants/                  # Category keys, icons
│   ├── Definitions/                # Category definitions
│   └── Enums/                      # Shared enumerations
│
├── CreatorHub.Common/              # Shared utilities
│   ├── DTO/                        # Data transfer objects
│   └── Utils/                      # BBCode renderer, HTML sanitizer
│
└── CreatorHub.Tests/               # Integration & unit tests

Features

Service Categories (9 built-in)

# Category Subcategories
1 Scripts & Copywriting Screenwriting, Copywriting, Content Ideas
2 Filming & Voice Videography, Voice-over, Podcasts
3 Video Editing YouTube Editing, Shorts/Reels/TikTok, Color Grading
4 Sound Mixing, Mastering, Sound Effects
5 Design Thumbnails, Logos, Banners, Templates
6 Animation Motion Graphics, Intro/Outro, Stream Visuals
7 Streaming OBS Setup, Bots (Twitch/Discord)
8 Marketing YouTube SEO, SMM, Analytics, Content Strategy
9 Development Websites, Bots (Telegram/Discord), Automation

Core Functionality

  • Authentication -- Registration, login, cookie-based sessions (ASP.NET Identity)
  • Topics -- Create, browse, and filter service topics with tags and categories
  • Posts & Comments -- BBCode-powered content with nested comments
  • User Profiles -- Avatars, badges, activity feeds, contact information
  • Follow System -- Follow other creators, personalized feeds
  • Portfolio -- Showcase completed work with descriptions and links
  • Reviews & Ratings -- Rate and review creators you have worked with
  • Notifications -- Real-time notifications for follows, comments, reviews
  • Moderation -- Report system for content and users, audit logging
  • Localization -- Ukrainian (uk-UA) and English support

UI Components

A rich set of reusable Blazor components: Avatar, Badge, Button, Input, Select, Textarea, BBEditor, BBView, BookmarkButton, Icon, MetaChip, PostCard, PostComposer, ProgressBar, StatusPill, StatusTag, TopicCard, TopicRow, and more.

Getting Started

Prerequisites

Run

# Clone the repository
git clone https://github.com/WabiSabikk/creatorhub.git
cd creatorhub

# Run the application (SQLite database is created automatically)
dotnet run --project CreatorHub/CreatorHub/CreatorHub.csproj

# Open https://localhost:5001 in your browser

Run Tests

dotnet test

Configuration

The application uses SQLite by default. The database file is created at Data/creatorhub.db relative to the working directory.

Configuration is in CreatorHub/CreatorHub/appsettings.json:

{
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=Data/creatorhub.db"
  },
  "Database": {
    "Provider": "Sqlite"
  }
}

License

This project is provided as-is for educational and portfolio purposes.

About

CreatorHub — Content creators platform. Blazor SSR, .NET 9, Clean Architecture, EF Core, ASP.NET Identity

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors