Jobingo est une application web composée d'un frontend en React et d'un backend en Node.js, orchestrés via Docker Compose pour la production et le développement.
Le projet est structuré comme suit :
frontend/: L'interface utilisateur construite avec React, Vite et Tailwind CSS.backend/: L'API et le serveur construits avec Node.js, Express et Prisma (interagissant avec PostgreSQL).compose.yaml: Le fichier Docker Compose principal pour orchestrer l'ensemble de l'application en production.
Le fichier compose.yaml à la racine permet de lancer l'application complète (Base de données PostgreSQL, Backend et Frontend).
- Docker et Docker Compose installés sur votre serveur / machine.
- Nginx Proxy Manager (NPM) configuré pour gérer le reverse proxy (le fichier
compose.yamlutilise le réseau externeproxy).
-
Configurer l'environnement : Copiez le fichier d'exemple pour la production à la racine :
cp .env.production.example .env
Éditez ensuite le fichier
.envnouvellement créé pour y définir vos mots de passe et secrets de production :DB_PASSWORD: Mot de passe de la base de données PostgreSQL.JWT_SECRET: Clé secrète pour signer les jetons d'authentification.
-
Démarrer les services : Lancez la commande suivante pour construire et démarrer les conteneurs en tâche de fond :
docker compose up -d --build
-
Accès aux services :
- Le Frontend sera accessible en interne et exposé via Nginx Proxy Manager sous votre nom de domaine (par exemple
https://jobingo.lucasspitzer.fr). - Le Backend gère les requêtes API sous
/api.
- Le Frontend sera accessible en interne et exposé via Nginx Proxy Manager sous votre nom de domaine (par exemple
Chaque sous-dossier possède son propre environnement de développement :
- Pour lancer le Backend en développement (avec sa base de données locale) : Consultez le fichier backend/README.md.
- Pour lancer le Frontend en développement (Vite en mode dev) : Consultez le fichier frontend/README.md.