Vision Data Dashboard is a full-stack reference app for monitoring computer vision pipelines, edge telemetry, and industrial inspection results in real time.
- Flask API for telemetry, events, inspections, auth, and Swagger docs
- React dashboard for overview, devices, events, and inspections
- WebSocket live stream for recent event updates
- PostgreSQL schema managed with SQLAlchemy and Alembic
- MkDocs documentation with Mermaid diagrams
- Docker Compose setup for local development
- Backend: Flask 3, SQLAlchemy 2.0, Alembic, PostgreSQL
- Frontend: React 18, TypeScript, Vite, Tailwind CSS, React Query, Recharts
- Docs: MkDocs
- Tooling: Docker Compose, Makefile, backend/frontend test suites
cp .env.example .envPowerShell alternative:
Copy-Item .env.example .envmake dev- Frontend:
http://localhost:5173 - Backend API:
http://localhost:5000/api/v1 - Swagger UI:
http://localhost:5000/api/v1/docs - WebSocket stream:
ws://localhost:5000/ws/events - PostgreSQL:
localhost:5432
Useful helpers:
make logs
make downcd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements-dev.txt
flask db upgrade
flask seed
flask runcd frontend
npm install
npm run devWrite endpoints support two modes:
- local development mode with
AUTH_REQUIRED=false - hardened mode with
AUTH_REQUIRED=true
When hardened mode is enabled:
POST /api/v1/auth/tokenissues a JWT from a configured API keyGET /api/v1/auth/meresolves the current authenticated context- write routes accept
Authorization: Bearer <token>orX-API-Key: <key>
Realtime event updates are exposed through:
WS /ws/events
The dashboard consumes that stream for recent event updates, with React Query polling as a fallback.
The PostgreSQL schema is defined in Python, not through a raw SQL bootstrap script.
Source of truth:
backend/app/models/backend/migrations/versions/
Database lifecycle commands:
flask db-create
flask db-reset --yes-i-know
flask db-delete --yes-i-knowMakefile shortcuts:
make db-create
make db-reset
make db-delete
make seed
make seed-resetmake test-backend
make test-frontend
make test
make docs-build
make docs-serveCI is defined in .github/workflows/ci.yml.
Detailed docs live in docs/ and are served through MkDocs.
make docs-install
make docs-serveOr directly:
python -m pip install -r docs/requirements.txt
python -m mkdocs serveDocs index: