Back to projects

Full Stack

Hero Exchange (2025)

Full Stack Microservices Platform with Gamification

A dark-fantasy hero marketplace evolved from FlogIt (2023), transformed from a car auction demo into a fully gamified trading platform. Features 8 .NET microservices, real-time bidding via SignalR, virtual currency system (Gold), XP/leveling, achievements, daily mystery boxes, and animated hero sprites. Built with a testing-first approach including integration tests for Gateway, Notification, Identity, and Bidding services.

Key Features

  • 8 microservices: Gateway, Auction, Bidding, Gamification, Search, Notification, Identity, Bot
  • Real-time bidding with SignalR WebSocket broadcasts and Zustand state management
  • Gamification system: Gold wallet, XP/levels, achievements, daily quests, mystery boxes
  • Python bot service for automated marketplace activity with configurable rates
  • Event-driven architecture: RabbitMQ consumers for AuctionFinished, BidPlaced events
  • YARP reverse proxy Gateway with admin token protection and CORS configuration
  • Duende IdentityServer with PKCE flow and guest login support
.NET 8Next.js 13React 18TypeScriptPostgreSQLMongoDBRabbitMQgRPCSignalRDockerPythonJestxUnit

Services / Architecture

  • 8 .NET 8 microservices: Gateway (YARP), Auction, Bidding, Gamification, Search, Notification, Identity (Duende)
  • Next.js 13 App Router with Server Actions, SignalR client, and animated hero sprite components
  • GamificationService: Wallet, Achievements, Quests, MysteryBox, ActivityFeed controllers
  • Python bot service (FastAPI) with configurable bid/auction rates and pytest test suite

Methodologies & Testing

  • Testing-first: Jest/RTL for frontend (AuctionCard, Filters, stores), xUnit for Gateway/Notification/Identity/Bidding
  • Event-driven: AuctionFinishedConsumer transfers Gold, awards XP, unlocks achievements via RabbitMQ
  • Clean architecture: Service boundaries, HTTP clients between services (GamificationClient in BiddingService)
  • Documentation: Comprehensive docstrings across all controllers and services

Deployment

  • Next.js frontend on Vercel with custom domain (hero-exchange.live)
  • 8 microservices on Railway with internal hostname routing
  • PostgreSQL (Auctions, Users, Gamification) and MongoDB (Bids, Search) on Railway
  • GitHub Actions CI/CD with per-service Dockerised builds and automated deployments

Evolution

Evolved from FlogIt (2023): Rebranded from car auctions to hero marketplace, added GamificationService with virtual currency, integrated Gold balance checking into BiddingService, added Python bot service for demo traffic, comprehensive test coverage, and Angular admin console.

Gallery

Marketplace grid showing hero collection, live auctions with rarity filters and leaderboard
Click to enlarge

Marketplace grid showing hero collection, live auctions with rarity filters and leaderboard

Auction bidding modal with hero details, bid history, and place bid form
Click to enlarge

Auction bidding modal with hero details, bid history, and place bid form

Hero detail modal showing stats, rarity, and ownership history
Click to enlarge

Hero detail modal showing stats, rarity, and ownership history

Mystery box modal for daily summon achievement rewards
Click to enlarge

Mystery box modal for daily summon achievement rewards

Hero summoned result showing new hero added to collection
Click to enlarge

Hero summoned result showing new hero added to collection

Deployment architecture: Production (Vercel Edge + Railway Gateway) and Local Development (Angular CLI Proxy) flows
Click to enlarge

Deployment architecture: Production (Vercel Edge + Railway Gateway) and Local Development (Angular CLI Proxy) flows

Entity Relationship Diagram showing UserProgress, HeldBid, Auction, and Hero database schema
Click to enlarge

Entity Relationship Diagram showing UserProgress, HeldBid, Auction, and Hero database schema

Railway dashboard showing all microservices online: Gateway, Auction, Bidding, Search, Notification, Identity, Bot-service with MongoDB and PostgreSQL
Click to enlarge

Railway dashboard showing all microservices online: Gateway, Auction, Bidding, Search, Notification, Identity, Bot-service with MongoDB and PostgreSQL

Vercel deployment dashboard for Hero Exchange frontend at hero-exchange.live
Click to enlarge

Vercel deployment dashboard for Hero Exchange frontend at hero-exchange.live