- Frontend Vue 3 (Composition API) + Vite + Vue Router - Backend Go (stdlib) : API REST todo/notes + proxy RSS + auth token - Docker Compose : SPA nginx + backend + Miniflux + Postgres - Widgets : horloge canvas météo, todo 3 colonnes, notes persistées, agrégateur RSS multi-feeds, pomodoro, recherche DuckDuckGo (Ctrl+K) - Auth : dashboard public, todo/notes protégés par token - Widgets expandables (mode agrandi centré)
53 lines
1.7 KiB
Markdown
53 lines
1.7 KiB
Markdown
# Homepage
|
|
|
|
Dashboard personnel avec horloge animée, widgets todo/notes, agrégateur RSS, pomodoro et recherche rapide.
|
|
|
|
## Stack
|
|
|
|
- **Frontend** : Vue 3 (Composition API) + Vite + Vue Router
|
|
- **Backend** : Go (stdlib uniquement) — API REST pour todo, notes, proxy RSS
|
|
- **Déploiement** : Docker Compose (SPA nginx + backend Go + Miniflux + Postgres)
|
|
|
|
## Démarrage rapide
|
|
|
|
```bash
|
|
# 1. Configurer l'environnement
|
|
cp .env.example .env
|
|
# Éditer .env : changer les mots de passe et API_TOKEN
|
|
|
|
# 2. Lancer tout (backend + frontend dev)
|
|
make dev
|
|
|
|
# 3. Ouvrir http://localhost:5173
|
|
```
|
|
|
|
## Commandes
|
|
|
|
| Commande | Description |
|
|
|---|---|
|
|
| `make install` | Installer les dépendances npm |
|
|
| `make dev` | Lancer le backend (Docker) + frontend (Vite) |
|
|
| `make build` | Build de production dans `dist/` |
|
|
| `make up` | Lancer toute la stack Docker |
|
|
| `make down` | Arrêter la stack |
|
|
|
|
## Widgets
|
|
|
|
- **Horloge** : Canvas animé avec données météo (Open-Meteo), position solaire, 3 villes
|
|
- **Todo** : Vue 3 colonnes (hier/ajd/demain), persisté côté serveur, protégé par token
|
|
- **Notes** : Notes éphémères, persistées côté serveur, protégées par token
|
|
- **RSS** : Agrégateur multi-feeds (configurable via `src/data/feeds.json`)
|
|
- **Pomodoro** : Timer 25/5 min
|
|
- **Recherche** : Ctrl+K, DuckDuckGo avec support des bangs
|
|
- **Liens** : Panel de navigation (configurable via `src/data/links.json`)
|
|
|
|
## Authentification
|
|
|
|
Le dashboard est public. Les widgets todo et notes sont protégés par un token (`API_TOKEN` dans `.env`). Cliquer sur le cadenas en bas de page pour se connecter.
|
|
|
|
## Configuration
|
|
|
|
- **Liens** : `src/data/links.json`
|
|
- **Flux RSS** : `src/data/feeds.json`
|
|
- **Ports / tokens** : `.env`
|