Macula Documentation
View SourceWelcome to the Macula HTTP/3 Mesh documentation!
Macula is a distributed platform for building decentralized applications using HTTP/3 (QUIC) transport with P2P mesh networking.
🚀 Getting Started
- Quick Start - Build a distributed chat app in 30 minutes
- Architecture Overview - Complete documentation hub
- Project Structure - Module organization
📚 Core Documentation
Architecture & Design
- Kademlia DHT Architecture - Distributed hash table implementation
- QUIC/TLS Setup Guide - Gateway TLS configuration
- Memory Management - Production-ready leak prevention
- C4 Diagrams - Visual architecture overview
Planned Improvements
- Peer-Connection Separation Plan - v0.7.0 TDD refactoring (4.5 weeks)
- Nomenclature Proposal - connection → peer rename
- Peer vs Connection Analysis - Responsibility breakdown
🛠️ Development
Development Guides
- Testing Guide - Unit, integration, and E2E testing
- Docker Build Reference - Build best practices
- Hex Publication Guide - Publishing to Hex.pm
- mDNS Setup - Local service discovery configuration
Planning Documents
- Implementation Plan - Original 20-week roadmap
- Multi-Node Testing Plan - Testing strategy
📖 User Guides
- Quick Start - 15-minute mesh setup
- Hello World Tutorial - Build your first app
- RPC Guide - Remote procedure calls
- API Reference - Complete API docs
🔍 Reference
Technical Deep Dives
- DHT Routed RPC - Multi-hop Kademlia routing
- Pub/Sub Optimization - 10,000+ msg/sec
- Isolation Mechanisms - Multi-tenancy
- NAT Traversal - Firewall-friendly transport
Comparisons
- vs libp2p - Why Macula?
- vs WAMP - HTTP/3 mesh advantages
- vs Distributed Erlang - QUIC benefits
📦 Release Information
- Changelog - Version history and breaking changes
- v0.6.0 Release Summary - Latest release details
📂 Archive & History
- Archive - Historical analysis and completed work (~40 documents)
- Sessions - Development session summaries
🤝 Contributing
- Contributing Guide - How to contribute
- Documentation Status - What's complete
📞 Community & Support
- Issues: GitHub Issues
- Examples: Examples Directory
- License: Apache 2.0
Built with ❤️ for the BEAM community