https://github.com/pskillen/meshflow-api
https://github.com/pskillen/meshflow-api
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/pskillen/meshflow-api
- Owner: pskillen
- Created: 2025-04-20T21:37:41.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-05-26T13:32:57.000Z (about 1 month ago)
- Last Synced: 2026-05-26T13:33:07.997Z (about 1 month ago)
- Language: Python
- Size: 2.06 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 36
-
Metadata Files:
- Readme: README.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Meshflow API
Meshflow is a distributed telemetry collection system designed for Meshtastic radio networks. It provides a secure,
structured backend to ingest, store, and analyze public packets broadcast across geographically distributed mesh nodes.
The system is intended to be self-hosted, Dockerized, and built using Django REST Framework with PostgreSQL as the
backing store.
---
## ๐ง Project Structure
This repository will contain the backend API for Meshflow, organized as a modular Django project with the following
apps:
- **Nodes** โ manages radios (Meshtastic nodes) and their API keys
- **Constellations** โ groups of nodes managed collectively
- **Regions** โ geographical groupings used to partition mesh data
- **Packets** โ ingestion and processing of raw mesh packets
- **Users** โ standard Django users, acting as SysOps in node context
- **Common** โ shared utilities, permissions, middleware, etc.
Root layout:
```
Meshflow/
โโโ manage.py
โโโ Meshflow/ # Django settings, urls, wsgi
โโโ Nodes/
โโโ Packets/
โโโ Constellations/
โโโ Regions/
โโโ Users/
โโโ Common/
```
---
## ๐ Components
- **Meshflow API** โ the Django-based backend (this project)
- **Meshflow Relay** โ lightweight local client running beside a Meshtastic node
- **Meshflow Dashboard** โ React-based frontend for visualizing and managing mesh activity
---
## ๐ API Overview (planned)
All endpoints will be namespaced under `/api/v1/`.
```
/api/v1/
โโโ auth/
โโโ packets/ingest/ # POST endpoint for Meshflow Relay
โโโ nodes/ # Manage and list nodes
โโโ nodes//apikeys/ # Rotate/manage node API keys
โโโ constellations/ # Group nodes for SysOp management
โโโ regions/ # List regions, get stats
โโโ stats/global/ # Public stats
โโโ stats/my-nodes/ # SysOp-specific metrics
```
---
## โ๏ธ Tech Stack
- Python 3.x
- Django 4.x
- Django REST Framework
- PostgreSQL
- Docker / Docker Compose
---
## ๐ ๏ธ Setup Instructions (TBD)
This project is under initial development. Once bootstrapped, the following will apply:
```bash
# Clone and enter repo
cd Meshflow
# Install dependencies
pip install -r requirements.txt
# Run migrations
python manage.py migrate && python manage.py run_deploy_tasks
# Start development server
python manage.py runserver
```
Docker setup will be included via `docker-compose.yml`.
---
## ๐งญ Philosophy
Meshflow is designed to be:
- **Transparent** โ SysOps and the public can see activity and trends
- **Modular** โ easy to extend, replace, or separate components
- **Open** โ friendly to community deployment and contribution
---
## ๐ Status
> ๐งช Currently pre-alpha. The core architecture and structure are being scaffolded.