A distributed Elixir application consisting of a central server and multiple workspace nodes.
This project demonstrates a distributed Elixir application with:
- A central Phoenix server that collects and displays events
 - Multiple workspace nodes that can connect to the server
 - Event logging system for tracking activities across nodes
 - PostgreSQL database for persistent storage
 
- Elixir 1.14+
 - Erlang/OTP 25+
 - PostgreSQL (via Docker)
 - just command runner
 - tmux (optional, for running server and workspace in split windows)
 
- Install dependencies:
 
just setup- Set up the database:
 
just db-setupOr run the full setup:
just full-setupjust serverjust workspaceOr specify a custom workspace name:
just workspace workspace2just start- Start the database: 
just db-start - Stop the database: 
just db-stop - Check database status: 
just db-status - Reset the database: 
just db-reset 
Send test events from a workspace node:
just test-eventsOr specify a custom workspace node:
just test-events [email protected]Run just --list to see all available commands:
Available recipes:
    db-reset                                # Reset the database
    db-setup                                # Set up the database
    db-start                                # Start the database
    db-status                               # Check database status
    db-stop                                 # Stop the database
    default                                 # List available commands
    full-setup                              # Full system setup
    full-start                              # Full system start
    server                                  # Start the server node
    setup                                   # Install dependencies
    start                                   # Start both server and workspace
    test-events node="[email protected]" # Run test events
    workspace node="workspace1"             # Start a workspace node
Once the server is running, you can access the web interface at:
- Dashboard: http://localhost:4000/
 - Event History: http://localhost:4000/events