Skip to content

Home

The Microserv52 Platform is a web application for buying and selling products. It is a group project for the Platforms, Microservices, DevOps and APIs course.

Documentation map

Start here What you will find
Project Scope, architecture, requirements and delivery checklist
Architecture Complete repository, runtime and deployment architecture
Frontends Landing, mock store and admin; one-domain routing, packages, PWA, Faro, Umami and local Docker testing
Organization Repository model, ownership and contribution workflow
Get started Prerequisites and how to run the repository
Developing Repository layout, submodules and development workflow
Rules API, domain, security and reliability rules
Testing Layered verification strategy
Delivery Final evidence and AI disclosure checklist
Deployment Container and GitHub Pages deployment
Operations Logs, metrics, traces, health and alerts
Performance Bottleneck investigation and evidence
Cloud AWS account and resource setup
Kubernetes EKS topology and workload requirements
CI/CD Build, image and deployment pipeline
Load testing Scenarios, metrics and autoscaling experiments
Costs and SLA Cost plan, PaaS choices and service objectives
Service contracts Cross-service rules and integration points

Services

The platform is split into independently deployable services:

Web experience

The frontend documentation describes three English-language applications on one domain: landing at /, store at /store, and restricted management at /admin. The store is an educational simulation: no real payments or transactions, and no shipment. Public browsing and authenticated demo order creation are implemented with Gateway/Account access changes. The separate Docker fixture mode supports local UI testing; real Product/Exchange integration and production CDN deployment still require acceptance.

flowchart LR
    subgraph api [Trusted Layer]
        loadbalancer@{shape: hexagon, label: "Load Balancer"}
        gateway
        loadbalancer --> gateway
        gateway --> account
        gateway --> auth
        account --> db@{ shape: cyl, label: "Database" }
        auth --> account
        gateway --> exchange
        gateway --> product
        gateway --> order
        product --> db
        order --> db
        order --> product
    end
    exchange --> 3partyapi@{label: "3rd-party API"}
    internet -->|request| loadbalancer
    click product "services/product/index.md" "Product API"
    click order "services/order/index.md" "Order API"
    click exchange "services/exchange/index.md" "Exchange API"