initial, step 2 already

This commit is contained in:
2025-10-31 14:25:12 +01:00
commit ea17d048ad
24 changed files with 1431 additions and 0 deletions

73
apps/ui/README.md Normal file
View File

@@ -0,0 +1,73 @@
# Home Automation UI
FastAPI-based web interface with Jinja2 templates for the home automation system.
## Features
- **Jinja2 Templates**: Dynamic HTML rendering
- **Responsive Design**: Modern, clean UI
- **FastAPI Backend**: Fast and reliable serving
## Port Configuration
- **Development Port**: 8002
- **Access URL**: http://localhost:8002
## Running the UI
### Using uvicorn directly
```bash
poetry run uvicorn apps.ui.main:app --reload --port 8002
```
### Using Python module
```bash
poetry run python -m apps.ui.main
```
## Project Structure
```
apps/ui/
├── __init__.py
├── main.py # FastAPI application
├── templates/ # Jinja2 templates
│ └── index.html # Main page
└── README.md # This file
```
## Templates
Templates are located in `apps/ui/templates/` and use Jinja2 syntax.
### Available Routes
- `GET /` - Main UI page (renders `index.html`)
## Development
The server runs with auto-reload enabled during development. Any changes to:
- Python files (`.py`)
- Template files (`.html`)
will trigger an automatic restart.
## Dependencies
- **FastAPI**: Web framework
- **Jinja2**: Template engine
- **Uvicorn**: ASGI server
## Template Variables
Templates receive the following context variables:
- `request`: FastAPI Request object (required by Jinja2Templates)
## Future Enhancements
- [ ] Add static file serving (CSS, JS, images)
- [ ] Implement WebSocket support for real-time updates
- [ ] Add device control interface
- [ ] Integrate with API for capability discovery