Flask API backend for ESP32 sensor fleet: - App factory pattern with blueprints - SQLAlchemy 2.x models (Sensor, Device, Sighting, Alert, Event, Probe) - UDP collector for sensor data streams - REST API endpoints for sensors, devices, alerts, events, probes, stats - pytest setup with fixtures - Containerfile for podman deployment - Makefile for common tasks
44 lines
788 B
Makefile
44 lines
788 B
Makefile
.PHONY: build run dev stop logs test migrate clean install
|
|
|
|
APP_NAME := esp32-web
|
|
PORT := 5500
|
|
|
|
install:
|
|
pip install -e ".[dev]"
|
|
|
|
dev:
|
|
flask --app src/esp32_web run --port $(PORT) --debug
|
|
|
|
test:
|
|
pytest -v
|
|
|
|
migrate:
|
|
flask --app src/esp32_web db upgrade
|
|
|
|
migrate-init:
|
|
flask --app src/esp32_web db init
|
|
|
|
migrate-create:
|
|
flask --app src/esp32_web db migrate -m "$(msg)"
|
|
|
|
build:
|
|
podman build -t $(APP_NAME) .
|
|
|
|
run:
|
|
podman run -d --name $(APP_NAME) \
|
|
-p $(PORT):$(PORT) \
|
|
-p $(PORT):$(PORT)/udp \
|
|
-v ./instance:/app/instance:Z \
|
|
$(APP_NAME)
|
|
|
|
stop:
|
|
podman stop $(APP_NAME) && podman rm $(APP_NAME)
|
|
|
|
logs:
|
|
podman logs -f $(APP_NAME)
|
|
|
|
clean:
|
|
rm -rf __pycache__ .pytest_cache .ruff_cache
|
|
find . -type d -name __pycache__ -exec rm -rf {} +
|
|
find . -type f -name "*.pyc" -delete
|