2.0 KiB
2.0 KiB
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
# 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)
docker compose up -d --build
L'application est accessible sur http://<IP>: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
- Créer le premier utilisateur (endpoint à ajouter ou via SQLite direct)
- Ajouter les deux biens (apartement longue durée + Airbnb)
- Renseigner l'URL iCal Airbnb dans la fiche du bien Airbnb
- 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.