Plateforme web centrale (ERP + plateforme scientifique) pour un centre de recherche environnemental et biodiversité basé au nord du Maroc.
- Next.js 14 - Framework React avec App Router
- TypeScript - Typage statique
- Prisma - ORM pour la base de données
- PostgreSQL + PostGIS - Base de données relationnelle et géospatiale
- NextAuth.js - Authentification et gestion des sessions
- Tailwind CSS - Styling
- Leaflet - Cartographie interactive
npm install- Créer un fichier
.envà la racine du projet avec les variables suivantes :
DATABASE_URL="postgresql://user:password@localhost:5432/research_platform?schema=public"
NEXTAUTH_URL="http://localhost:3000"
NEXTAUTH_SECRET="your-secret-key-here"Pour générer un secret aléatoire :
openssl rand -base64 32- Générer le client Prisma :
npm run db:generate- Appliquer les migrations :
npm run db:pushnpm run devOuvrir http://localhost:3000
- ✅ Gestion des utilisateurs & sessions
- ✅ Gestion RH
- ✅ Comptabilité & Finances
- ✅ Gestion Matériel & Logistique
- ✅ Missions & Campagnes Terrain
- ✅ Base de données scientifique - Espèces
- ✅ Données environnementales
- ✅ SIG & Cartographie
- ✅ Gestion documentaire
- ✅ Édition & Publication
- ✅ Tableaux de bord personnalisés
- Guide de Démarrage Rapide - Installation et configuration
- Architecture - Vue d'ensemble technique
- Git Workflow Guide - Guide complet du workflow Git/GitHub
- Git Setup Guide - Guide de configuration Git rapide
- Contributing Guide - Guide de contribution au projet
Ce projet utilise un workflow Git complet avec :
- Métadonnées de fichiers : Tous les fichiers TypeScript incluent des en-têtes avec auteur, dates, nombre de mises à jour, etc.
- Commits cohérents : Scripts pour créer des commits logiques et groupés
- Branches structurées : Convention de nommage pour les branches
- Pull Requests : Templates et processus standardisés
- Git Hooks : Mise à jour automatique des en-têtes avant commit
# Ajouter/mettre à jour les en-têtes de fichiers
npm run headers:update
# Créer une nouvelle branche
npm run git:branch feature/ma-fonctionnalite
# Créer des commits cohérents
npm run git:commit-grouped
# Pousser la branche
npm run git:push
# Vérifier la configuration Git
npm run git:verifyVoir README_GIT_SETUP.md pour plus de détails.
Après l'installation et le seed :
- Email :
admin@research-platform.ma - Mot de passe :
admin123
- 15 rôles prédéfinis (Directeur Scientifique, Botaniste, etc.)
- Permissions granulaires par module
- Journal des connexions
- Sessions sécurisées
- Fiches employés complètes
- Gestion des contrats et salaires
- Primes (terrain, mer, risques)
- Congés et planning
- Évaluations
- Budgets annuels avec allocations
- Suivi des subventions
- Dépenses par projet
- Factures et paiements
- Rapports financiers
- Inventaire complet (Véhicules, Bateau, Équipements scientifiques, etc.)
- Suivi de maintenance
- Affectation par mission
- Durée de vie et renouvellement
- Création et gestion de missions
- Affectation d'équipes
- Gestion du matériel
- Rapports post-mission
- Géolocalisation GPS
- Catalogue des espèces (Flore/Faune terrestre/marine)
- Statuts UICN
- Observations et localisations
- Photos et références scientifiques
- Qualité de l'eau (Mer, Source, Barrage)
- Qualité de l'air
- Données climatiques
- Géologie & sols
- Données de capteurs
- Cartes interactives (Leaflet)
- Couches multiples (Habitats, Espèces, Stations, etc.)
- Import/Export GeoJSON
- Visualisation spatio-temporelle
- Rapports scientifiques et administratifs
- Données brutes
- Publications
- Versioning
- Droits d'accès
- Livre annuel
- Génération de graphiques
- Exports PDF/Web
- Archivage
- Frontend : Next.js 14, React, TypeScript, Tailwind CSS
- Backend : Next.js API Routes, Prisma ORM
- Base de données : PostgreSQL + PostGIS
- Authentification : NextAuth.js
- Cartographie : Leaflet, React Leaflet
- Graphiques : Recharts
- Formulaires : React Hook Form
Ce projet est privé et destiné à un usage interne.