https://github.com/benmed00/research-platform
ERP and scientific platform for environmental and biodiversity research center in northern Morocco
https://github.com/benmed00/research-platform
biodiversity environmental-research erp leaflet maroc morocco nextauth nextjs postgis postgresql prisma research-platform scientific-platform tailwindcss typescript
Last synced: 6 months ago
JSON representation
ERP and scientific platform for environmental and biodiversity research center in northern Morocco
- Host: GitHub
- URL: https://github.com/benmed00/research-platform
- Owner: benmed00
- License: mit
- Created: 2026-01-01T21:24:05.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2026-01-10T21:00:44.000Z (6 months ago)
- Last Synced: 2026-01-10T21:27:27.975Z (6 months ago)
- Topics: biodiversity, environmental-research, erp, leaflet, maroc, morocco, nextauth, nextjs, postgis, postgresql, prisma, research-platform, scientific-platform, tailwindcss, typescript
- Language: TypeScript
- Size: 1.89 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 47
-
Metadata Files:
- Readme: README.md
- Contributing: docs/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
- Support: .github/SUPPORT.md
Awesome Lists containing this project
README
# Plateforme de Recherche Environnementale et Biodiversité
Plateforme web centrale (ERP + plateforme scientifique) pour un centre de recherche environnemental et biodiversité basé au nord du Maroc.
## 🚀 Technologies
- **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
## 📦 Installation
### Option 1: Docker (Recommended)
See [Docker Setup Guide](./docs/DOCKER_SETUP.md) for complete instructions.
```bash
# Start with Docker Compose
docker-compose up -d
# Run migrations
docker-compose exec app npx prisma migrate deploy
```
### Option 2: Local Development
```bash
npm install
```
## 🗄️ Configuration Base de Données
1. Créer un fichier `.env` à la racine du projet avec les variables suivantes :
```env
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 :
```bash
openssl rand -base64 32
```
1. Générer le client Prisma :
```bash
npm run db:generate
```
1. Appliquer les migrations :
```bash
npm run db:push
```
## 🏃 Développement
```bash
npm run dev
```
Ouvrir [http://localhost:3000](http://localhost:3000)
## 📋 Modules
- ✅ 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
## 📖 Documentation
- [Guide de Démarrage Rapide](./docs/QUICKSTART.md) - Installation et configuration
- [Architecture](./docs/ARCHITECTURE.md) - Vue d'ensemble technique
- [Git Workflow Guide](./docs/GIT_WORKFLOW.md) - Guide complet du workflow Git/GitHub
- [Git Setup Guide](./docs/README_GIT_SETUP.md) - Guide de configuration Git rapide
- [Contributing Guide](./docs/CONTRIBUTING.md) - Guide de contribution au projet
- [Documentation Standards](./docs/DOCUMENTATION_STANDARDS.md) - Standards et règles de documentation
## 🔄 Git & GitHub Workflow
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
### Commandes rapides
```bash
# 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:verify
```
Voir [README_GIT_SETUP.md](./docs/README_GIT_SETUP.md) pour plus de détails.
## 🔐 Connexion par défaut
Après l'installation et le seed :
- **Email** : `admin@research-platform.ma`
- **Mot de passe** : `admin123`
⚠️ Changez le mot de passe après la première connexion !
## 🎯 Fonctionnalités Principales
### Gestion des Utilisateurs
- 15 rôles prédéfinis (Directeur Scientifique, Botaniste, etc.)
- Permissions granulaires par module
- Journal des connexions
- Sessions sécurisées
### Ressources Humaines
- Fiches employés complètes
- Gestion des contrats et salaires
- Primes (terrain, mer, risques)
- Congés et planning
- Évaluations
### Comptabilité & Finances
- Budgets annuels avec allocations
- Suivi des subventions
- Dépenses par projet
- Factures et paiements
- Rapports financiers
### Matériel & Logistique
- Inventaire complet (Véhicules, Bateau, Équipements scientifiques, etc.)
- Suivi de maintenance
- Affectation par mission
- Durée de vie et renouvellement
### Missions & Campagnes
- Création et gestion de missions
- Affectation d'équipes
- Gestion du matériel
- Rapports post-mission
- Géolocalisation GPS
### Base de Données Scientifique
- Catalogue des espèces (Flore/Faune terrestre/marine)
- Statuts UICN
- Observations et localisations
- Photos et références scientifiques
### Données Environnementales
- Qualité de l'eau (Mer, Source, Barrage)
- Qualité de l'air
- Données climatiques
- Géologie & sols
- Données de capteurs
### SIG & Cartographie
- Cartes interactives (Leaflet)
- Couches multiples (Habitats, Espèces, Stations, etc.)
- Import/Export GeoJSON
- Visualisation spatio-temporelle
### Gestion Documentaire
- Rapports scientifiques et administratifs
- Données brutes
- Publications
- Versioning
- Droits d'accès
### Édition & Publication
- Livre annuel
- Génération de graphiques
- Exports PDF/Web
- Archivage
## 🛠️ Technologies Utilisées
- **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
## 📝 Licence
Ce projet est privé et destiné à un usage interne.