Overview
View SourceMacula HTTP/3 Mesh
A distributed platform for decentralized applications
Table of Contents
π Executive Summary - What Macula is and why it matters
π Quick Start - Get running in 15 minutes
π‘ Hello World Tutorial - Build a distributed chat app in 30 minutes
π Technical Documentation - Complete architecture and implementation guides
π§ Development Guide - Setup, testing, and contributing
ποΈ Comparisons - How Macula compares to similar systems
π Use Cases - Real-world applications and examples
π Project Structure - Module organization and dependencies
πΊοΈ Roadmap - 20-week implementation plan
π Changelog - Version history and migration guides
What is Macula?
Macula is infrastructure for building decentralized applications and services that operate autonomously at the edge, without dependency on centralized cloud infrastructure.
Key Features:
β BEAM-native (Erlang/Elixir OTP supervision and fault tolerance) β HTTP/3 (QUIC) transport (modern, encrypted, NAT-friendly) β Edge-first design (works through firewalls and NAT) β Built-in pub/sub & RPC (no external message broker needed) β Multi-tenancy (realm isolation for SaaS and shared infrastructure) β Self-organizing mesh (DHT-based service discovery, O(log N) routing) β Production-ready patterns (OTP behaviors, comprehensive testing, memory management)
Installation
Elixir (mix.exs):
def deps do
[
{:macula, "~> 0.6"}
]
endErlang (rebar.config):
{deps, [
{macula, "0.6.6"}
]}.Development Setup
# Clone the repository
git clone https://github.com/macula-io/macula.git
cd macula
# Fetch dependencies
rebar3 get-deps
# Compile
rebar3 compile
# Run tests
rebar3 eunit
# Start a shell with Macula loaded
rebar3 shell
Contributing
We welcome contributions! See Development Guide for setup instructions and Contributing Guide for guidelines.
License
Macula is licensed under the Apache License 2.0. See LICENSE for details.
Community & Support
- Issues: GitHub Issues
- Documentation: Architecture Docs
- Examples: Examples Directory
Built with β€οΈ for the BEAM community