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)¶
- Docker Desktop installé et démarré → https://www.docker.com/products/docker-desktop/ (à l'installation, laisser l'option WSL 2 activée)
- Git installé → https://git-scm.com/download/win
Installation (une seule fois)¶
1. Récupérer le projet
1 2 | |
2. Créer ton fichier de configuration locale
1 | |
.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 | |
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
Servers → Bank Transaction Bot - LOCAL → Transaction 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
Databases → transaction_local_db → Schemas → public → Tables
→ clic droit sur une table → View/Edit Data → All 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 | |
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 |