IoT automation platform — self-hosted system for monitoring and controlling IoT devices via web dashboard with real-time data, charts, and visual workflow automation.
- Python 3.13+, uv
- Node.js 20+, npm
- Docker & Docker Compose
docker compose up -dcp .env.example .env # adjust secrets for production
cd backend
uv sync
uv run alembic upgrade head
uv run uvicorn app.main:sio_asgi_app --reloadAPI docs: http://localhost:8000/api/docs
Default login: admin / admin
cd frontend
npm install
npm run codegen # generates typed API hooks (backend must be running)
npm run devcontwatch-new/
├── backend/ # FastAPI + SQLAlchemy + Socket.IO
│ ├── app/
│ │ ├── api/ # Route handlers
│ │ ├── models/ # SQLAlchemy models
│ │ ├── schemas/ # Pydantic schemas → OpenAPI
│ │ └── services/ # Business logic
│ ├── alembic/ # Database migrations
│ └── tests/
├── frontend/ # Vite + React + TanStack
│ ├── src/
│ │ ├── api/ # Axios instance + orval generated hooks
│ │ ├── components/
│ │ ├── providers/
│ │ └── routes/ # TanStack Router file-based routes
│ └── orval.config.ts
└── docker-compose.yml
# Backend tests
cd backend && uv run pytest -v
# Frontend lint
cd frontend && npm run lint
# Regenerate API client after backend changes
cd frontend && npm run codegen