Application web de gestion de tâches conçue pour organiser le développement d'un serveur FiveM. Interface Kanban avec drag & drop, catégorisation, priorités et suivi de progression.
- Backend : Node.js + Express + PostgreSQL
- Frontend : React 19 + Vite + Tailwind CSS
- Auth : JWT (login simple user/password)
- Déploiement : Docker + Docker Compose (compatible Coolify)
- Node.js 18+
- PostgreSQL 14+ (ou Docker)
docker compose up db -dnpm install
cd client && npm install && cd ..npm run db:initCharge toutes les tâches FiveM pré-organisées par catégorie :
npm run db:seedCrée un compte admin / admin avec toutes les tâches.
npm run dev- Frontend : http://localhost:5173
- API : http://localhost:3001
- Créer un nouveau service Docker Compose dans Coolify
- Pointer vers le repo Git
- Définir la variable d'environnement
JWT_SECRET - Déployer
- Créer un nouveau service Dockerfile dans Coolify
- Configurer les variables d'environnement :
DATABASE_URL: URL PostgreSQLJWT_SECRET: Clé secrète JWTPORT: 3001
- Exposer le port 3001
Initialiser la base et charger les données :
# Dans le conteneur de l'app
node server/models/init.js
node server/seed.js| Méthode | Endpoint | Description |
|---|---|---|
| POST | /api/auth/register |
Créer un compte |
| POST | /api/auth/login |
Connexion |
| GET | /api/auth/me |
Utilisateur courant |
| GET | /api/tasks |
Liste des tâches (filtres: status, priority, category_id, search) |
| POST | /api/tasks |
Créer une tâche |
| PUT | /api/tasks/:id |
Modifier une tâche |
| PATCH | /api/tasks/:id/status |
Changer le statut |
| DELETE | /api/tasks/:id |
Supprimer une tâche |
| GET | /api/categories |
Liste des catégories |
| POST | /api/categories |
Créer une catégorie |
| PUT | /api/categories/:id |
Modifier une catégorie |
| DELETE | /api/categories/:id |
Supprimer une catégorie |
| GET | /api/stats |
Statistiques globales |
FiveMORGA/
├── server/
│ ├── index.js # Point d'entrée Express
│ ├── config/database.js # Pool PostgreSQL
│ ├── middleware/auth.js # Middleware JWT
│ ├── models/init.js # Création des tables
│ ├── seed.js # Données initiales FiveM
│ └── routes/
│ ├── auth.js # Authentification
│ ├── tasks.js # CRUD tâches
│ ├── categories.js # CRUD catégories
│ └── stats.js # Statistiques
├── client/
│ ├── src/
│ │ ├── App.jsx
│ │ ├── api/index.js # Client API
│ │ ├── context/ # Auth context
│ │ └── components/ # Composants React
│ └── ...config files
├── docker-compose.yml
├── Dockerfile
└── README.md