A platform connecting Musicians, Bands, Venues, and Music Fans. Musicians showcase their talent, bands find members, venues book acts and sell tickets, and fans discover live music near them.
- .NET 10 SDK
- Docker Desktop
- (Optional) Visual Studio 2022+ or VS Code with C# Dev Kit
cd docker
docker-compose up -dThis starts PostgreSQL 16 on port 5432 with:
- Database:
gignite - User:
gignite_user - Password:
GigniteDevP@ss2026!
cd src/Gignite.Server
dotnet ef database update --project ../Gignite.Infrastructure# From repo root
dotnet run --project src/Gignite.ServerThe API will be available at https://localhost:5000 (or the port configured in launchSettings).
For the Blazor client:
dotnet run --project src/Gignite.Clientdotnet test Gignite.slnxGignite/
├── src/
│ ├── Gignite.Server/ # ASP.NET Core API + Host
│ ├── Gignite.Client/ # Blazor WebAssembly Client (MudBlazor)
│ ├── Gignite.Shared/ # Shared DTOs, Enums, Contracts
│ ├── Gignite.Domain/ # Domain Entities
│ ├── Gignite.Application/ # Business Logic & Service Interfaces
│ └── Gignite.Infrastructure/ # EF Core, Repositories, External Services
├── tests/
│ ├── Gignite.Server.Tests/ # API controller tests (xUnit)
│ ├── Gignite.Client.Tests/ # Blazor component tests (bUnit)
│ ├── Gignite.Application.Tests/# Service tests (xUnit)
│ ├── Gignite.Infrastructure.Tests/ # Repository/DB tests (xUnit)
│ └── Gignite.E2E.Tests/ # Playwright end-to-end tests
├── docker/
│ ├── docker-compose.yml # PostgreSQL container
│ └── Dockerfile # Server container
└── memorybank/ # Project docs & task tracking
| Layer | Technology |
|---|---|
| Frontend | Blazor WebAssembly (.NET 10) |
| UI Framework | MudBlazor 9.x (Material Design) |
| Backend API | ASP.NET Core 10 |
| ORM | Entity Framework Core 10 |
| Database | PostgreSQL 16 |
| Authentication | ASP.NET Core Identity + Google OAuth + JWT |
| Payment | PayFast (mocked) |
| Notifications | Email (mocked) |
| Testing | xUnit + bUnit + Playwright |
| Containerization | Docker / Docker Compose |
| Type | Fee | Description |
|---|---|---|
| Musician | R50/mo or R540/yr | Profile, bands, gigs, connections |
| Venue | R100/mo or R1080/yr | Events, ticket sales, talent booking |
| Normal User | Free | Discover shows, buy tickets |
| Super Admin | N/A | Full platform management |
- Architecture — System design, tech stack, domain model
- Ticket Progress — All task statuses
- Changelog — Ad-hoc changes log
- Active Tasks — In-progress GIG tickets
- Completed Tasks — Finished GIG tickets
- Copilot Instructions — D5 agentic workflow for development
This project uses the D5 Agentic Workflow:
- Define — Goal, constraints, definition of done
- Discover — Investigate codebase, research best practices
- Deliver — Minimal implementation (requires approval)
- Demonstrate — Tests pass, human verification
- Document — Update docs, close task
Use StartTask GIG-XXXX to begin a task and ReviewTasks to check progress.
- Create a project in Google Cloud Console
- Enable Google+ API
- Create OAuth 2.0 credentials
- Update
src/Gignite.Server/appsettings.jsonwith your Client ID and Secret
Payment integration is currently mocked. To enable PayFast:
- Create a PayFast sandbox account
- Update the
PayFastsection inappsettings.json - Swap
MockPaymentServicefor the real PayFast implementation
Private — All rights reserved.