Application de gestion de bilans de santé et de suivi médical pour les professionnels de santé.
ErdrePulse est une application web complète permettant aux professionnels de santé de :
- Créer et gérer des bilans de santé personnalisés
- Suivre l'évolution des patients
- Gérer les informations professionnelles et personnelles
- Effectuer des tests physiques et métaboliques
- Analyser les données de santé
backend/
├── config/ # Configuration base de données
├── controllers/ # Logique métier
├── middlewares/ # Middlewares (auth, validation)
├── models/ # Modèles Sequelize
├── routes/ # Routes API
├── services/ # Services (email, etc.)
└── index.js # Point d'entréefrontend/
├── src/
│ ├── components/ # Composants réutilisables
│ ├── contexts/ # Contextes React (Auth)
│ ├── pages/ # Pages de l'application
│ ├── services/ # Services API
│ └── App.tsx # Point d'entrée React
└── public/ # Assets statiques- Node.js (v14 ou supérieur)
- MySQL
- npm ou yarn
# 1. Cloner le repository
git clone [URL_DU_REPO]
cd git
# 2. Lancer l'application complète
chmod +x deploy.sh
./deploy.sh allL'application sera accessible sur :
- Frontend : http://localhost:5173
- Backend API : http://localhost:5000
- Guide de Déploiement Rapide - Pour les développeurs
- Documentation d'Hébergement - Pour la production
# Lancer backend + frontend
./deploy.sh all
# Lancer uniquement le backend
./deploy.sh backend
# Lancer uniquement le frontend
./deploy.sh frontendcd backend
npm start # Démarre le serveur
npm run dev # Mode développement
npm run migrate # Exécute les migrations
npm run seed # Remplit la base de donnéescd frontend
npm run dev # Serveur de développement
npm run build # Build production
npm run preview # Prévisualise le build- Node.js - Runtime JavaScript
- Express - Framework web
- MySQL - Base de données
- Sequelize - ORM
- JWT - Authentification
- Nodemailer - Envoi d'emails
- React - Framework UI
- TypeScript - Typage statique
- Vite - Build tool
- Material-UI - Composants UI
- React Router - Navigation
- Axios - Client HTTP
- Authentification JWT
- Hachage des mots de passe (bcrypt)
- Validation des données
- Protection CORS
- Rate limiting
- Helmet.js pour la sécurité
- Inscription avec vérification email
- Connexion sécurisée
- Réinitialisation de mot de passe
- Gestion des sessions
- Informations personnelles
- Informations professionnelles
- Secteurs d'activité
- Professions
- Création de bilans personnalisés
- Tests physiques
- Tests métaboliques
- Suivi des objectifs
- Historique des bilans
users- Utilisateursprofiles- Profils utilisateursbilans- Bilans de santésecteurs- Secteurs d'activitéprofessions- Professionsactivites- Activités physiques
cd backend
npx sequelize-cli db:migrate # Appliquer les migrations
npx sequelize-cli db:seed:all # Remplir avec des donnéesPOST /api/auth/register- InscriptionPOST /api/auth/login- ConnexionGET /api/auth/verify-email/:token- Vérification emailPOST /api/auth/forgot-password- Demande réinitialisationPOST /api/auth/reset-password- Réinitialisation mot de passe
GET /api/profile- Récupérer le profilPUT /api/profile- Mettre à jour le profilDELETE /api/profile- Supprimer le profil
GET /api/bilans- Liste des bilansPOST /api/bilans- Créer un bilanGET /api/bilans/:id- Détails d'un bilanPUT /api/bilans/:id- Modifier un bilan
-
Erreur de connexion à la base de données
- Vérifier que MySQL est démarré
- Vérifier les informations de connexion dans
.env
-
Erreur CORS
- Vérifier la configuration CORS dans le backend
- Vérifier les URLs dans les variables d'environnement
-
Erreur de migration
- Vérifier la configuration dans
config/config.json - Vérifier les permissions de la base de données
- Vérifier la configuration dans
Ce projet est développé pour des fins éducatives et professionnelles.
Pour contribuer au projet :
- Fork le repository
- Créer une branche feature
- Commiter les changements
- Pousser vers la branche
- Créer une Pull Request
Note : Consultez la documentation spécifique pour plus de détails sur le déploiement et l'hébergement.