Skip to content

Repository files navigation

EdgeGate

High-Performance Edge Network Observation & Policy Gateway

Intelligent network visibility, DNS-aware policy enforcement, real-time telemetry, and edge analytics powered by ESP32-C3, FastAPI, and Next.js.

Built to deliver low-latency network insight, device observability, and policy-driven control through a centralized management plane.


License Platform Backend Frontend Database Cache Docker


Overview

EdgeGate is a high-performance edge networking platform built for monitoring, telemetry collection, policy enforcement, and real-time visibility at the gateway layer.

The system combines embedded systems engineering, modern backend architecture, and real-time web technologies to create a lightweight yet scalable control plane for intelligent network management.


Table of Contents


Architecture

EdgeGate is organized as a monorepo containing three core platform layers.

Firmware (apps/firmware)

Embedded runtime running on ESP32-C3 SuperMini.

Responsibilities

  • Wi-Fi access point and gateway services
  • Device session lifecycle tracking
  • DNS interception and policy evaluation
  • Event buffering and telemetry batching
  • Secure backend communication
  • Edge decision execution

Backend (apps/backend)

Control plane built with FastAPI.

Responsibilities

  • Gateway management
  • Telemetry ingestion
  • Policy orchestration
  • Session analytics
  • Event processing
  • PostgreSQL persistence
  • Redis-powered coordination

Dashboard (apps/dashboard)

Real-time management interface built with Next.js.

Responsibilities

  • Live gateway monitoring
  • Device and session visibility
  • Policy management
  • Historical analytics
  • WebSocket realtime updates

Technology Stack

Layer Technologies
Firmware PlatformIO · ESP32-C3 · Arduino
Backend Python · FastAPI · SQLAlchemy
Frontend Next.js · TypeScript
Database PostgreSQL
Cache Redis
Infrastructure Docker · NGINX
Communication REST · WebSocket

Documentation

Project documentation is organized into architecture, development, and deployment guides.

Document Location
Project Overview docs/init/about.md
Technical Specification docs/init/overview.md
System Architecture docs/architecture/system.md
API Reference docs/api/reference.md
Firmware Setup docs/firmware/setup.md
Docker Deployment docs/deployment/docker.md
Development Guide docs/development/getting-started.md
Testing docs/development/testing.md

Getting Started

1. Clone Repository

git clone https://github.com/AsieduDevelopmentHub/edgegate
cd edgegate

2. Configure Environment

cp .env.example .env

Configure:

DATABASE_URL
REDIS_URL
SECRET_KEY
GATEWAY_JWT_SECRET
BACKEND_URL

3. Start Development Environment

Cursor Task Runner (Recommended)

Ctrl + Shift + P
→ Tasks: Run Task
→ EdgeGate: Dev Stack

Manual Startup

Backend:

cd apps/backend

set PYTHONPATH=.

python -m uvicorn app.main:app \
--reload \
--port 8000

Dashboard:

cd apps/dashboard

npm install

npm run dev

4. Run Using Docker

npm run docker:up

Available services:

Service URL
Dashboard http://localhost
API http://localhost/api
WebSocket ws://localhost/ws

5. Flash Firmware

cd apps/firmware

pio run -t upload

See:

docs/firmware/setup.md

Development Workflow

Backend

cd apps/backend

pip install -e ".[dev]"

alembic upgrade head

uvicorn app.main:app \
--reload \
--port 8000

Dashboard

cd apps/dashboard

npm install

npm run dev:dashboard

Repository Structure

EdgeGate/

apps/
├── firmware/
├── backend/
└── dashboard/

packages/
├── shared/
├── api/
└── telemetry/

infra/
├── docker/
└── postgres/

tests/
├── integration/
└── performance/

docs/
└── project documentation

Design Principles

EdgeGate is designed around:

  • Edge-first processing
  • Event-driven telemetry
  • Low-latency policy evaluation
  • Deterministic runtime behavior
  • Separation of control and data planes
  • Observable infrastructure
  • Scalable backend services
  • Production-grade maintainability

Core Capabilities

Capability Description
Device Tracking Gateway device lifecycle
DNS Observation DNS visibility and logging
Policy Enforcement Runtime filtering
Telemetry Event aggregation
Analytics Historical insights
Gateway Control Central orchestration
Realtime Monitoring Live dashboard updates

License

Distributed under the MIT License.

See the license file for full terms and conditions:

LICENSE


EdgeGate

Observe • Enforce • Analyze

Built for modern edge networking and intelligent gateway infrastructure.


DocumentationAPI ReferenceLICENSE


About

EdgeGate is an ESP32-C3 powered network gateway system designed to observe and analyze device behavior on Wi-Fi networks. It captures session data, DNS requests, and network events, applies lightweight policy rules, and streams structured telemetry to a FastAPI backend for real-time visualization and historical analytics.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages