# Rental Manager Gestion comptable de biens locatifs — Go + SvelteKit + SQLite. ## Stack - **Backend** : Go 1.22, gorilla/mux, mattn/go-sqlite3 - **Frontend** : SvelteKit + TailwindCSS + Chart.js - **BDD** : SQLite (WAL mode) - **Déploiement** : Docker Compose (ESXi / NAS) ## Lancement développement ```bash # Backend cd rental-manager go mod tidy go run ./cmd/server # Frontend (autre terminal) cd frontend npm install npm run dev ``` ## Déploiement production (ESXi) ```bash docker compose up -d --build ``` L'application est accessible sur `http://:8080` ## Structure ``` cmd/server/main.go Entrypoint Go internal/ auth/ Authentification, sessions, middleware property/ Biens immobiliers transaction/ Revenus & dépenses calendar/ Événements d'occupation document/ Pièces jointes fiscal/ Export CSV annuel ical/ Sync flux iCal Airbnb (goroutine) db/ SQLite init + migrations data/ rental.db Base SQLite (créée au démarrage) documents/ Fichiers uploadés (property_id/année/) frontend/src/ routes/ Pages SvelteKit lib/stores/api.js Client API + stores Svelte ``` ## Variables d'environnement | Variable | Défaut | Description | |----------|--------|-------------| | PORT | 9000 | Port d'écoute | | TZ | Europe/Paris | Timezone | ## Premiers pas après démarrage 1. Créer le premier utilisateur (endpoint à ajouter ou via SQLite direct) 2. Ajouter les deux biens (apartement longue durée + Airbnb) 3. Renseigner l'URL iCal Airbnb dans la fiche du bien Airbnb 4. La sync démarre automatiquement toutes les heures ## Sync iCal Airbnb Airbnb expose un flux iCal par annonce : `Annonce → Paramètres → Calendrier → Exporter le calendrier` Coller l'URL `.ics` dans la fiche du bien. La goroutine `ical.Service` synchronise automatiquement toutes les heures et loggue les résultats dans `ical_sync_log`.