docs: Add project documentation
- README.md: Quick start, API endpoints, ports - PROJECT.md: Architecture, components, data models - ROADMAP.md: Version milestones (v0.1.x - v1.0.0) - TASKS.md: Current sprint tasks - TODO.md: Backlog items - docs/INSTALL.md: Setup and deployment - docs/USAGE.md: API examples - docs/CHEATSHEET.md: Quick reference
This commit is contained in:
58
PROJECT.md
Normal file
58
PROJECT.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# ESP32-Web Project
|
||||
|
||||
## Overview
|
||||
|
||||
REST API backend for ESP32 CSI sensor fleet. Collects and stores sensor data (BLE, WiFi probes, alerts, events) for OPSEC/OSINT/Purple team operations.
|
||||
|
||||
## Goals
|
||||
|
||||
- Aggregate data from multiple ESP32 sensors
|
||||
- Provide REST API for querying devices, alerts, events
|
||||
- Track device presence and movement across zones
|
||||
- Enable fleet management (commands, OTA, calibration)
|
||||
|
||||
## Architecture
|
||||
|
||||
```
|
||||
ESP32 Sensors (UDP 5500) ──▶ UDP Collector ──▶ SQLite/PostgreSQL
|
||||
│
|
||||
▼
|
||||
Flask REST API (TCP 5500)
|
||||
│
|
||||
▼
|
||||
Clients / Dashboards
|
||||
```
|
||||
|
||||
## Components
|
||||
|
||||
| Component | Path | Description |
|
||||
|-----------|------|-------------|
|
||||
| App Factory | `src/esp32_web/__init__.py` | Flask application factory |
|
||||
| Config | `src/esp32_web/config.py` | Configuration classes |
|
||||
| Models | `src/esp32_web/models/` | SQLAlchemy ORM models |
|
||||
| API | `src/esp32_web/api/` | REST API blueprints |
|
||||
| Collector | `src/esp32_web/collector/` | UDP listener + parsers |
|
||||
|
||||
## Data Models
|
||||
|
||||
| Model | Description |
|
||||
|-------|-------------|
|
||||
| Sensor | ESP32 sensor node (hostname, IP, status) |
|
||||
| Device | Discovered BLE/WiFi device (MAC, vendor, name) |
|
||||
| Sighting | Device seen by sensor (RSSI, timestamp) |
|
||||
| Alert | Security alert (deauth, flood) |
|
||||
| Event | Sensor event (motion, presence, calibration) |
|
||||
| Probe | WiFi probe request (SSID, channel) |
|
||||
|
||||
## Dependencies
|
||||
|
||||
- Flask 3.x
|
||||
- SQLAlchemy 2.x
|
||||
- Flask-Migrate
|
||||
- Flask-CORS
|
||||
- gunicorn
|
||||
|
||||
## Related Projects
|
||||
|
||||
- [esp32-hacking](~/git/esp32-hacking/) - ESP32 firmware
|
||||
- [esp-tools](~/git/esp-tools/) - CLI tools (esp-ctl, esp-fleet)
|
||||
Reference in New Issue
Block a user