Files
csv/README.md
T
2026-08-23 09:06:32 +00:00

88 lines
3.0 KiB
Markdown

# 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
```bash
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`