chore: ajout .gitignore, CLAUDE.md, design system et docs Phase 2
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
# HomeHub
|
||||
|
||||
Application d'organisation personnelle auto-hébergée — PWA mobile-first déployée sur Proxmox 9.
|
||||
|
||||
## Fonctionnalités
|
||||
|
||||
- **Todos** — tâches classées par domaine (informatique, DIY, jardinage, cuisine…)
|
||||
- **Liste de courses** — générée depuis les habitudes d'achat, mode magasin avec Wake Lock, suivi des prix, OCR étiquettes et tickets
|
||||
- **Notes** — saisie rapide avec photo, audio, GPS et métadonnées libres
|
||||
- **MCP Server** — expose les données à des agents IA (Hermes, Claude, etc.)
|
||||
|
||||
## Stack technique
|
||||
|
||||
| Composant | Technologie |
|
||||
|-----------|-------------|
|
||||
| Frontend | React 18 + Vite + TypeScript + Tailwind CSS |
|
||||
| Backend | Python 3.12 + FastAPI (async) |
|
||||
| Base de données | PostgreSQL 16 (schémas multiples) |
|
||||
| Migrations | Alembic |
|
||||
| OCR | Tesseract 5 (service Docker dédié, partagé entre modules) |
|
||||
| Scan code-barres | zxing-js (frontend, iOS + Android) |
|
||||
| Catalogue produits | OpenFoodFacts API (~3M produits alimentaires) |
|
||||
| Recherche image | SearXNG (auto-hébergé, fallback image produits) |
|
||||
| Déploiement | Docker Compose · Nginx Proxy Manager |
|
||||
| Design system | Gruvbox seventies (`design_system/`) |
|
||||
|
||||
## Démarrage rapide (développement local)
|
||||
|
||||
```bash
|
||||
# Copier la configuration
|
||||
cp .env.example .env
|
||||
|
||||
# Lancer l'environnement de développement
|
||||
./dev.sh
|
||||
|
||||
# Backend disponible sur http://localhost:8000
|
||||
# Frontend disponible sur http://localhost:3000
|
||||
# Documentation API : http://localhost:8000/docs
|
||||
```
|
||||
|
||||
## Structure du projet
|
||||
|
||||
```
|
||||
home_hub/
|
||||
├── ocr/
|
||||
│ ├── app.py # Service FastAPI OCR (Tesseract + Pillow)
|
||||
│ └── Dockerfile
|
||||
├── product-search/
|
||||
│ ├── app.py # Client OpenFoodFacts + proxy SearXNG images
|
||||
│ └── Dockerfile
|
||||
├── backend/
|
||||
│ ├── app/
|
||||
│ │ ├── api/ # Endpoints par domaine (todos, shopping, notes, media, mcp)
|
||||
│ │ ├── core/ # Config, base de données, middleware
|
||||
│ │ ├── models/ # Modèles SQLAlchemy
|
||||
│ │ ├── schemas/ # Schémas Pydantic
|
||||
│ │ └── services/
|
||||
│ │ ├── media.py # Upload, compression, génération miniatures (Pillow)
|
||||
│ │ ├── ocr.py # Client vers service ocr:8001
|
||||
│ │ └── ... # Suggestions shopping, sync calendrier (futur)
|
||||
│ ├── alembic/ # Migrations de base de données
|
||||
│ ├── Dockerfile
|
||||
│ └── requirements.txt
|
||||
├── frontend/
|
||||
│ ├── src/
|
||||
│ │ ├── components/ # Composants React
|
||||
│ │ ├── pages/ # Pages par module
|
||||
│ │ ├── hooks/ # Hooks personnalisés (camera, geolocation, wake-lock…)
|
||||
│ │ └── api/ # Client API typé
|
||||
│ ├── public/
|
||||
│ │ └── manifest.json
|
||||
│ ├── Dockerfile
|
||||
│ └── vite.config.ts
|
||||
├── design_system/ # Design system Gruvbox seventies (tokens + composants)
|
||||
├── docs/
|
||||
│ ├── spec.md # Spécification fonctionnelle complète
|
||||
│ └── plan.md # Plan de développement par phases
|
||||
├── docker-compose.yml
|
||||
├── docker-compose.dev.yml
|
||||
└── .env.example
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
- [Spécification fonctionnelle](docs/spec.md) — features détaillées, schéma DB, interfaces
|
||||
- [Plan de développement](docs/plan.md) — phases et tâches
|
||||
- [Design system](design_system/README.md) — composants et règles visuelles
|
||||
- API REST : `http://localhost:8000/docs` (Swagger auto-généré par FastAPI)
|
||||
|
||||
## Déploiement (Proxmox)
|
||||
|
||||
```bash
|
||||
# Production
|
||||
docker compose up -d
|
||||
|
||||
# Nginx Proxy Manager pointe vers :
|
||||
# homehub.local → frontend:3000
|
||||
# homehub.local/api → backend:8000
|
||||
# homehub.local/mcp → backend:8000/mcp (pour les agents IA)
|
||||
```
|
||||
|
||||
## Évolutions prévues
|
||||
|
||||
- Authentification multi-utilisateurs (JWT)
|
||||
- Sync Google Calendar + CalDAV iOS
|
||||
- Intégration Home Assistant
|
||||
- Webhooks Gitea → Kanban
|
||||
- Analyse frigo par Vision LLM (Hermes/Ollama)
|
||||
Reference in New Issue
Block a user