MinMaxHub
Documentation
  • Introduction
  • Architecture
  • Frontend
Domains
  • Nodes
  • Entities
  • Consensus
  • Suggestions
Resources
  • API Reference

Copyright 2026 MinMaxHub

  • Documentation
  • Domains
  • API Reference
IntroductionArchitectureFrontend
powered by Zudoku
Documentation

Architecture

MinMaxHub is a serverless application built on AWS. The system is organized around domain-driven services that communicate through a single REST API gateway.

High-Level Overview

Code
Browser / Next.js SSR | API Gateway (REST, single gateway) | Lambda Handlers (one per operation) | DynamoDB (one table per domain) + S3 (media + rules)

All API routes are served through a single API Gateway. Each domain (Nodes, Entities, Suggestions, Votes, Consensus, Users, Media, Rules) has its own set of endpoints under a dedicated root path.

Domain Boundaries

DomainRoot PathResponsibility
Nodes/nodesContent hierarchy and taxonomy (the tree structure)
Entities/entitiesContent pages with layout templates
Suggestions/suggestionsUser-submitted content proposals
Votes/votesCommunity voting on suggestions
Consensus/consensusMaterialized winners, page assembly, moderation
Users/usersUser profiles and ranks
Media/mediaImage uploads and optimization
Rules/rulesJSON Schema registry for content types

Authentication

Protected endpoints use Cognito-based authorization. Include the ID Token in the Authorization header:

Code
Authorization: Bearer <id-token>

Public endpoints (content pages, node browsing) do not require authentication. See each domain's API reference for which routes are public vs. protected.

Error Handling

All API responses follow a consistent envelope format. Errors return structured JSON with an appropriate HTTP status code:

StatusMeaning
400Bad Request -- invalid input or missing required fields
401Unauthorized -- missing or invalid authentication token
403Forbidden -- authenticated but not permitted for this action
404Not Found -- resource does not exist
409Conflict -- duplicate resource or optimistic lock failure
422Unprocessable Entity -- input is well-formed but fails validation
500Internal Server Error

Content Delivery

Entity pages are pre-rendered as static HTML and cached at the edge. When consensus is recomputed for an entity, the cached page is automatically invalidated. The next visitor triggers a fresh render with updated content, which is then cached again.

This means:

  • Read performance is not affected by the complexity of the write path.
  • Public pages are served from cache with no database queries on most requests.
  • Fresh content appears within seconds of consensus computation completing.
Last modified on April 2, 2026
IntroductionFrontend
On this page
  • High-Level Overview
  • Domain Boundaries
  • Authentication
  • Error Handling
  • Content Delivery