Une application web open-source et complète pour gérer vos finances personnelles, développée avec NuxtJs, DrizzleORM, PostgreSQL.
- Tableau de bord interactif avec visualisations en temps réel
- Gestion budgétaire avec suivi des dépenses par catégorie
- Suivi des transactions avec catégorisation automatique
- Frontend: NuxtJs, Vue 3, TailwindCSS, Shadcn
- Backend: DrizzleORM, PostgreSQL
- Visualisations: Unovis
- Conteneurisation: Docker & Docker Compose
- Design épuré et professionnel
- Tableau de bord interactif avec graphiques
- Modales pour l'ajout rapide de données
- Responsive design
- Animations fluides
- Docker et Docker Compose
- Node.js 18+ (pour le développement local)
- PostgreSQL 15+
- Cloner le repository
git clone https://github.com/qldwin/airgap.git
cd airgap- Configurer les variables d'environnement
cp .env.example .env
# Éditer .env avec vos configurations- Lancer l'application avec Docker Compose
docker compose up -d- Accéder à l'application
- Application principale: http://localhost:3000
- Base de données: localhost:5432
- Installer les dépendances
npm install- Configurer la base de données
Nécessite la variable DATABASE_URL dans .env
npx drizzle-kit migrate- Lancer le serveur de développement
npm run devairgap/
├── server/ # API côté serveur
├── app/ # Fichiers de l'app
├── pages/ # Pages de l'app
├── assets/ # Fichiers styles
└── components/ # Composants Vue réutilisables
├── public/ # Fichiers statiques
├── docker-compose.yml # Configuration Docker
├── Dockerfile # Composants Vue réutilisables
├── package.json # Dépendances du projet
├── package-lock.json # Dépendances du projet
├── nuxt.config.js # Configuration de Nuxt
├── drizzle.config.ts # Configuration de Drizzle
└── README.md # Documentation
Créez un fichier .env à la racine du projet :
# Database
NUXT_DATABASE_URL=postgresql://airgap_user:airgap_password@localhost:5432/airgap
La base de données inclut les tables suivantes :
users- Utilisateursaccounts- Comptes bancairescategories- Catégories de transactionstransactions- Transactions financièresbudgets- Budgets mensuelsrecurrences- Gestion des transactions récurrentes
# Générer une nouvelle migration
npx drizzle-kit generate
# Exécuter les migrations
npx drizzle-kit migrate
# Ouvrir le studio Drizzle
npx drizzle-kit studio- Créer un compte utilisateur
- Configurer vos catégories de dépenses
- Définir vos budgets mensuels
- Vue d'ensemble des finances
- Graphiques de tendances
- Création de budgets par catégorie
- Suivi en temps réel des dépenses
- Authentification utilisateur
- Validation des entrées côté serveur
- Protection CSRF
- Sessions sécurisées
- Cryptage des données (protocole AES-GCM 256)
L'application est entièrement responsive et fonctionne sur :
- Desktop (1920px+)
- Tablette (768px - 1024px)
- Mobile (320px - 768px)
Ce projet est sous licence AGPLv3. Voir le fichier LICENSE pour plus de détails.
Pour toute question ou problème :
- Ouvrez une issue sur GitHub
- Consultez la documentation
- Contactez l'équipe de support sur discord
AirGap - Vos finances ne regardent que vous.