Skip to content

System Design

System Design

High-Level Architecture

┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Frontend │────>│ API │────>│ Database │
│ (Leptos) │ │ (Axum) │ │ (PostGIS) │
└─────────────┘ └─────────────┘ └─────────────┘
┌──────┴──────┐
│ │
┌────▼────┐ ┌────▼────┐
│ Redis │ │ Stripe │
│ (Cache) │ │ (Pay) │
└─────────┘ └─────────┘

Crate Structure

The workspace contains 37 workspace crates:

Core

  • bloc-core - Domain types, shared models
  • bloc-db - SQLx queries, migrations
  • bloc-auth - JWT, password hashing

Domain

  • bloc-properties - Property CRUD
  • bloc-bids - Bidding system
  • bloc-assemblies - Bloc formation
  • bloc-payments - Stripe integration
  • bloc-transactions - Transaction lifecycle

Infrastructure

  • bloc-monitoring - Metrics, health checks
  • bloc-cache - Redis caching
  • bloc-events - Event sourcing