Application de gestion financiere personnelle auto-hebergee (FastAPI + React + Capacitor)
  • TypeScript 61.5%
  • Python 35.4%
  • HTML 1.2%
  • CSS 0.6%
  • Shell 0.4%
  • Other 0.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-07-02 19:39:20 +02:00
backend Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
docker Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
frontend Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
.dockerignore Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
.env.example Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
.gitignore Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
.mcp.json Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
AI_DEV_LOG.md Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
CLAUDE.md Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
deploy.sh Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
docker-compose.yml Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
logo.png Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00
README.md Initial commit: Kash v0.26.2 - Application de gestion financiere personnelle 2026-07-02 19:39:20 +02:00

Kash

Application de gestion financiere personnelle auto-hebergee. Web + Android.

Stack

Couche Technologie
API Python 3.12 + FastAPI
Base de donnees PostgreSQL 16
Frontend Web React 18 (TypeScript, Tailwind CSS v4, Vite)
Mobile Android Capacitor
Reverse proxy Nginx (conteneurise)
Orchestration Docker Compose
Auth JWT + bcrypt

Fonctionnalites

  • Multi-livres de comptes (personnel, coloc, famille...)
  • Transactions avec categories/sous-categories
  • Recurrences (hebdomadaire, mensuel, trimestriel, annuel)
  • Multi-utilisateurs avec RBAC (admin/user/guest)
  • Mode hors-ligne (IndexedDB + sync queue)
  • PIN code + authentification biometrique (Android)
  • Dark mode
  • Calendrier avec preview des recurrences
  • Statistiques (camembert, baremes, tendances)
  • Export CSV
  • APK Android via Capacitor

Demarrage rapide (local)

# 1. Cloner
git clone git@git.noahroy.fr:Noah/kash.git
cd kash

# 2. Configurer les variables d'environnement
cp backend/.env.example backend/.env
# Editer backend/.env avec vos secrets

# 3. Lancer
docker compose up -d

# 4. Creer le premier utilisateur admin
curl -X POST http://localhost:8000/api/auth/register \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"VotreMotDePasse","role":"admin"}'

L'appli est accessible sur http://localhost:3000.

Deploiement production

# 1. Transferer l'archive sur le serveur
scp kash-latest.tar.gz serveur:/opt/

# 2. Sur le serveur
cd /opt && mkdir kash && cd kash
tar -xzf ../kash-latest.tar.gz
# Creer backend/.env avec les secrets de production
docker compose up -d --build

# 3. Configurer le reverse proxy (NPM, Caddy, Traefik...)
# Frontend : proxy_pass → http://127.0.0.1:3000
# API : proxy_pass → http://127.0.0.1:8000 (prefix /api)

Build Android

cd frontend
npm install
npm run build
npx cap sync
cd android
./gradlew assembleDebug       # APK debug
./gradlew bundleRelease       # AAB release (Google Play)

Structure du projet

kash/
├── backend/          # API FastAPI
│   ├── models/       # Modeles SQLAlchemy
│   ├── routers/      # Routes API
│   ├── schemas/      # Schemas Pydantic
│   └── Dockerfile
├── frontend/         # React + Capacitor
│   ├── src/
│   │   ├── components/
│   │   ├── pages/
│   │   ├── hooks/
│   │   ├── services/
│   │   └── store/
│   └── android/      # Projet Android Capacitor
├── docker/           # Scripts init PostgreSQL
├── docker-compose.yml
└── deploy.sh         # Script de deploiement serveur

Variables d'environnement requises

POSTGRES_USER=noahbudget
POSTGRES_PASSWORD=<mot_de_passe_securise>
POSTGRES_DB=noahbudget
JWT_SECRET=<secret_jwt>
JWT_ALGORITHM=HS256
JWT_EXPIRE_MINUTES=30
BCRYPT_ROUNDS=12
ALLOW_ADMIN_REGISTRATION=false
CORS_ORIGINS=https://votre-domaine.fr,capacitor://localhost
DISABLE_DOCS=true

Licence

MIT