Aller au contenu

Guide — Lancer l'application en LOCAL sur ton PC (Windows)

Pour coder sur ton PC avec l'application qui tourne comme en prod, mais branchée sur les services de TEST (aucun risque pour la prod, aucun email bancaire lu).

Ce qu'il te faut (une seule fois)

  1. Docker Desktop installé et démarré → https://www.docker.com/products/docker-desktop/ (à l'installation, laisser l'option WSL 2 activée)
  2. Git installé → https://git-scm.com/download/win

Installation (une seule fois)

1. Récupérer le projet

1
2
git clone https://github.com/Boaz-study-organization/Boaz-study-fullstack-bank-transaction.git
cd Boaz-study-fullstack-bank-transaction

2. Créer ton fichier de configuration locale

1
copy .env.local.example .env.local
Ouvre .env.local et remplace les __A_REMPLIR__ (4 valeurs) : - WEBHOOK_API_KEY et SUBSCRIPTION_API_TOKEN → les tokens de TEST - OBJECT_ACCESS_KEY et OBJECT_SECRET_KEY → les accès du stockage → Ces 4 valeurs sont dans le fichier .env.test du serveur (/home/ubuntu/Projet_boaz_bank_transaction_fullstack/secrets/.env.test). Copie-colle-les.

3. Démarrer

1
docker compose -f docker-compose.local.yml --env-file .env.local up -d --build
Le premier lancement prend quelques minutes (téléchargements + construction).

Utilisation au quotidien

Quoi Adresse
Application (front) http://localhost:3004
API (backend) http://localhost:8004
pgAdmin (base de données) http://localhost:5056
  • Hot reload : tu modifies le code (backend ou frontend) → ça se met à jour tout seul.
  • Premier login : la base locale démarre vide. Crée un utilisateur admin, ou importe des données de test (voir plus bas).
  • Arrêter : docker compose -f docker-compose.local.yml down
  • Tout remettre à zéro (base comprise) : docker compose -f docker-compose.local.yml down -v

Accéder à pgAdmin (voir le contenu de la base de données)

pgAdmin est une page web pour consulter la base de données (tables, lignes, requêtes).

En local (sur ton PC)

1. Ouvrir : http://localhost:5056

2. Se connecter à pgAdmin (l'écran de login) : - Email : la valeur de PGADMIN_DEFAULT_EMAIL dans ton .env.local (par défaut : admin-local@boaz-study.com) - Mot de passe : la valeur de PGADMIN_DEFAULT_PASSWORD dans ton .env.local (par défaut : admin)

3. Ouvrir la base : dans le menu de gauche, déplie ServersBank Transaction Bot - LOCALTransaction DB LOCAL (PostgreSQL). Le serveur est déjà configuré automatiquement — rien à créer.

4. Il demande un mot de passe (celui de la base, pas celui de pgAdmin) : - c'est la valeur de DB_PASSWORD dans ton .env.local (par défaut : local_dev_password) - coche « Save password » pour ne plus le retaper.

5. Voir les données : déplie Databasestransaction_local_dbSchemaspublicTables → clic droit sur une table → View/Edit DataAll Rows.

Sur le serveur (TEST et PROD)

Env Adresse Email pgAdmin Mot de passe pgAdmin Mot de passe base
TEST http://151.80.144.98:5055 PGADMIN_DEFAULT_EMAIL du .env.test PGADMIN_DEFAULT_PASSWORD du .env.test DB_PASSWORD du .env.test
PROD http://151.80.144.98:5054 PGADMIN_DEFAULT_EMAIL du .env.prod PGADMIN_DEFAULT_PASSWORD du .env.prod DB_PASSWORD du .env.prod

Les fichiers .env.test / .env.prod sont sur le serveur dans : /home/ubuntu/Projet_boaz_bank_transaction_fullstack/secrets/

Même principe qu'en local : login pgAdmin → serveur déjà pré-configuré dans le menu de gauche → entrer le mot de passe de la base à la première ouverture.

⚠️ PROD = données réelles. Regarder ne casse rien, mais ne modifie/supprime jamais une ligne en prod sans sauvegarde (voir les manuels de backup).

Garanties de sécurité (déjà configurées)

  • IMAP désactivé : ton PC ne lit jamais les vrais emails bancaires
  • Webhook + API Subscription → environnement de TEST (.tech), jamais la prod
  • Stockage S3 → dossier séparé ...-LOCAL-DEV (ne touche pas aux fichiers prod)
  • ✅ Base de données locale sur ton PC, jetable

(Optionnel) Avoir des données réalistes en local

Depuis le serveur, exporte la base de TEST puis importe-la en local :

1
2
3
4
# Sur le serveur :
docker exec transaction_test_db pg_dump -U postgres -d transaction_test_db --no-owner > dump_test.sql
# (télécharge dump_test.sql sur ton PC, puis en local :)
docker exec -i transaction_local_db psql -U postgres -d transaction_local_db < dump_test.sql

Problèmes fréquents (Windows)

Symptôme Cause / Solution
bad interpreter: /bin/bash^M Fins de ligne Windows. Normalement réglé par .gitattributes. Sinon : git config core.autocrlf false puis re-cloner.
port is already allocated Un port (3004/8004/5435/5056) est pris sur ton PC → change *_PORT_HOST dans .env.local.
Page blanche front Attends la fin du 1er npm install : docker logs -f transaction_local_frontend
L'API ne répond pas docker logs -f transaction_local_backend (les migrations tournent au 1er démarrage)
Docker Desktop pas démarré Lance Docker Desktop et attends l'icône verte avant docker compose up