Aller au contenu

Comprendre le projet

À quoi sert l'application ?

Bank Transaction automatise le suivi des paiements bancaires et le financement de clients. Elle est composée de 4 morceaux qui tournent ensemble :

Morceau Rôle Nom technique
Le site l'interface web qu'on utilise frontend
L'API le cerveau qui traite les données backend
La base de données là où tout est stocké db (PostgreSQL)
pgAdmin un outil web pour regarder la base pgadmin

Les 3 environnements

C'est la même application, installée 3 fois, pour 3 usages différents :

Local Test (dev) Production
ton PC le serveur le serveur
Adresse http://localhost:3004 https://test-transaction.boaz-study.tech https://transaction.boaz-study.tech
Pour qui toi qui développes essais avant la prod les vrais clients
Données jetables copie de la prod réelles
Services externes version test version test version réelle
Se met à jour quand tu lances la commande tu pousses sur dev tu pousses sur main

Règle d'or : on n'expérimente jamais directement en production. On teste en local, puis en test, et seulement après on passe en prod.

Comment tout est relié (schéma simple)

flowchart LR
  PC["Ton PC<br/>(développement)"] -->|git push| GH["GitHub<br/>(le code)"]
  GH -->|branche dev| R1["ROBOT<br/>(runner)"] --> TEST["TEST<br/>(serveur)"]
  GH -->|branche main| R2["ROBOT<br/>(runner)"] --> PROD["PROD<br/>(serveur)"]

Le « ROBOT » = un programme installé sur le serveur (le « runner ») qui reçoit l'ordre de GitHub et met l'application à jour tout seul.

Où sont les choses importantes (sur le serveur)

Tout ce qui concerne le projet est regroupé dans un seul dossier :

1
2
3
4
5
6
7
/home/ubuntu/Projet_boaz_bank_transaction_fullstack/
├── actions-runners/
│   └── bank-transaction/     ← le « robot » (runner) qui déploie
├── secrets/                  ← .env.prod, .env.test (mots de passe)
└── ops/                      ← outils + sauvegardes
    ├── full_backup.sh, full_restore.sh, manuels…
    └── Backup/               ← sauvegardes locales horodatées (date-heure)
Chose Emplacement
Fichiers de configuration (mots de passe) …/Projet_boaz_bank_transaction_fullstack/secrets/
Outils de sauvegarde / restauration …/Projet_boaz_bank_transaction_fullstack/ops/
Sauvegardes locales (horodatées) …/Projet_boaz_bank_transaction_fullstack/ops/Backup/
Le proxy web (aiguille les adresses) — partagé /home/ubuntu/nginx-proxy-center/
Le code (dépôt GitHub) Boaz-study-organization/Boaz-study-fullstack-bank-transaction

Le proxy web et les données Docker (volumes) sont gérés à part car ils sont communs à plusieurs usages ; les sauvegardes, elles, sont bien dans le projet (ops/Backup/) et dans le cloud (S3).

Avant de continuer

Choisis ta situation :