3.0 KiB
3.0 KiB
CSV - Plateforme de Vie Locale
Application communautaire : articles, événements, petites annonces (listings), demandes d'aide, annuaire d'entreprises locales, avec comptes utilisateurs et panneau d'administration.
Stack technique
| Composant | Technologie |
|---|---|
| Backend | Node.js + Express (ESM) |
| Frontend | React 18 + Vite 5 + Tailwind 3 |
| Base de données | MariaDB (instance distante, LXC 102) |
| Authentification | JWT (jsonwebtoken) + bcryptjs |
| Uploads | Multer |
Déploiement
cd /opt/csv
docker compose up -d
- Backend : http://localhost:3002
- Frontend : http://localhost:3003
La BDD est auto-créée au démarrage du backend (tables users, articles, events, listings, help_requests, businesses, categories).
Structure
/opt/csv/
├── backend/
│ ├── src/
│ │ ├── index.js # Point d'entrée Express + auto-create tables
│ │ ├── config/db.js # Pool MySQL
│ │ ├── routes/
│ │ │ ├── auth.js # Inscription, connexion, profil
│ │ │ ├── articles.js # CRUD articles
│ │ │ ├── events.js # CRUD événements
│ │ │ ├── listings.js # Petites annonces
│ │ │ ├── helpRequests.js # Demandes d'aide
│ │ │ └── businesses.js # Annuaire entreprises
│ │ └── uploads/ # Fichiers uploadés
│ └── package.json
├── frontend/
│ ├── src/
│ │ ├── App.jsx # Routeur React
│ │ ├── components/ # Composants UI
│ │ └── pages/ # Pages
│ └── package.json
├── docker-compose.yml
└── nginx.conf
API Routes
| Méthode | Route | Description |
|---|---|---|
| POST | /api/auth/register |
Inscription |
| POST | /api/auth/login |
Connexion |
| GET/POST | /api/articles |
Liste/Création articles |
| GET/POST | /api/events |
Liste/Création événements |
| GET/POST | /api/listings |
Liste/Création petites annonces |
| GET/POST | /api/help-requests |
Liste/Création demandes d'aide |
| GET/POST | /api/businesses |
Liste/Création entreprises |
Variables d'environnement
| Variable | Description | Valeur |
|---|---|---|
PORT |
Port backend | 3002 |
DB_HOST |
Host MariaDB | 10.10.10.11 |
DB_PORT |
Port MariaDB | 3306 |
DB_USER |
Utilisateur BDD | csvusr |
DB_PASSWORD |
Mot de passe BDD | Fdp1989Dor@ |
DB_NAME |
Nom de la BDD | csv |
JWT_SECRET |
Secret JWT | csv-secret-key-change-in-production |
Sécurité : Le JWT_SECRET est une valeur par défaut. Il doit être changé en production.
Domaine de production
- URL : https://csv.secourit.fr
- LXC : 106 (IP 10.10.10.23)
- Backend : port 3002
- Frontend : port 3003
- SSL : Let's Encrypt via Nginx Proxy Manager
- BDD : MariaDB sur LXC 102 (10.10.10.11), base
csv