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:
user
2026-02-05 21:06:05 +01:00
parent a8f616970a
commit e6e7b622b2
8 changed files with 571 additions and 31 deletions

58
PROJECT.md Normal file
View 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)