Application de gestion de stock et de matériel pour la Protection Civile
StockProtec est une application web moderne conçue pour la gestion complète du matériel médical, des équipements et des stocks de la Protection Civile. L'application offre une interface intuitive pour la gestion des inventaires, le suivi des mouvements, et la génération de rapports.
- Gestion des produits : Ajout, modification, suppression de produits
- Catégorisation : Organisation par catégories et sous-catégories
- Suivi des lots : Gestion des numéros de lot et dates d'expiration
- Codes-barres : Génération et lecture de codes-barres
- Mouvements : Entrées, sorties, transferts avec historique complet
- Authentification sécurisée : Connexion avec hashage PBKDF2
- Rôles utilisateurs : Administrateur, Utilisateur standard
- Gestion des comptes : Création, modification, suppression d'utilisateurs
- Réinitialisation de mot de passe : Système sécurisé de récupération
- Chiffrement des mots de passe : Hashage PBKDF2 avec sel
- Sauvegarde automatique : Sauvegardes hebdomadaires programmées
- Conformité RGPD : Protection des données personnelles
- Logs d'audit : Traçabilité complète des actions
- Statistiques en temps réel : Vue d'ensemble des stocks
- Rapports : Génération de rapports détaillés
- Alertes : Notifications pour stocks faibles ou expirations
- Historique : Consultation des mouvements passés
- Panneau d'administration : Interface complète pour les admins
- Gestion des sauvegardes : Création, restauration, suppression
- Migration de base de données : Mises à jour automatiques
- Logs système : Monitoring et dépannage
StockProtec v5.2
├── Frontend (React + TypeScript + Vite)
│ ├── Interface utilisateur moderne
│ ├── Composants réutilisables
│ └── Gestion d'état avec Context API
├── Backend (Node.js + Express)
│ ├── API REST sécurisée
│ ├── Authentification JWT
│ └── Services métier
└── Base de données (SQLite)
├── Schéma relationnel
├── Migrations automatiques
└── Sauvegarde intégrée
- Node.js : Version 18.0 ou supérieure
- npm : Version 8.0 ou supérieure
- SQLite3 : Inclus dans le projet
- Navigateur web : Chrome, Firefox, Safari, Edge
# 1. Cloner le dépôt
git clone https://github.com/userzfr/StockProtec.git
cd StockProtec
# 2. Installer les dépendances
npm run setup
# 3. Démarrer l'application
npm run prodL'application sera accessible sur http://localhost:5173
| Commande | Description |
|---|---|
npm run setup |
Installation complète des dépendances |
npm run dev |
Démarrage en mode développement |
npm run dev:all |
Démarrage simultané frontend + backend |
npm run prod |
Démarrage en mode production |
npm run build |
Construction du frontend pour production |
npm run server |
Démarrage du serveur backend uniquement |
npm run migrate |
Exécution des migrations de base de données |
npm run seed |
Remplissage de la base avec des données de test |
Le fichier package.json contient toutes les configurations nécessaires. Les ports par défaut sont :
- Frontend :
http://localhost:5173 - Backend API :
http://localhost:3001 - Base de données :
server/stockprotec.db
- Installation complète - Guide d'installation détaillé
- Démarrage rapide - Mise en route en 5 minutes
- Guide utilisateur - Utilisation de l'application
- Gestion des stocks - Guide complet des fonctionnalités
- Guide développeur - Architecture et développement
- API REST - Référence complète de l'API
- Base de données - Schéma et migrations
- Tests - Tests et qualité du code
- Politique de sécurité - Mesures de sécurité implémentées
- Sauvegarde - Système de sauvegarde automatique
- RGPD - Conformité aux réglementations
- Changelog - Historique des versions
- Corrections - Bugs corrigés
# Mise à jour automatique
npm run migrateConsultez le guide de migration pour les instructions détaillées.
Erreur de connexion à la base de données
# Vérifier les permissions
chmod 644 server/stockprotec.db
# Redémarrer l'application
npm run prodPort déjà utilisé
# Changer le port du serveur
PORT=3002 npm run serverProblème de dépendances
# Nettoyer et réinstaller
rm -rf node_modules package-lock.json
npm run setupConsultez le guide de dépannage pour plus d'aide.
Les contributions sont les bienvenues ! Veuillez :
- Forker le projet
- Créer une branche pour votre fonctionnalité (
git checkout -b feature/AmazingFeature) - Commiter vos changements (
git commit -m 'Add some AmazingFeature') - Pousser vers la branche (
git push origin feature/AmazingFeature) - Ouvrir une Pull Request
- TypeScript : Typage strict obligatoire
- ESLint : Respect des règles de style
- Tests : Tests unitaires pour les nouvelles fonctionnalités
- Documentation : Mise à jour de la documentation
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
- 📧 Email : userz_fr@outlook.fr
- 🐛 Issues : GitHub Issues
- 💬 Discord : Contact
userz_frpour le support direct - 📖 Documentation : docs/DOCUMENTATION_INDEX.md
- Protection Civile pour les spécifications fonctionnelles
- Communauté React pour les outils et frameworks
- Contributeurs pour leur temps et expertise
StockProtec v5.2.6 - Application de gestion de stock pour la Protection Civile 🏥
Développé avec ❤️ par userz_fr
- doc/INSTALLATION.md
- doc/DEVELOPER_GUIDE.md
- doc/MIGRATION_GUIDE.md
- doc/CHANGELOG.md
- doc/GUIDE_BASE_DONNEES.md
- doc/DOCUMENTATION_INDEX.md
StockProtec est conçu pour la gestion du matériel et du stock pharmacie de la Protection Civile. L'application vise à fournir :
- inventaire précis des sacs de secours
- suivi des équipements opérationnels
- gestion du stock pharmacie
- contrôles et historiques centralisés
- persistance sécurisée dans SQLite
src/: frontend Reactserver/: backend Node.js + Expressstockprotec.db: fichier SQLite local
- Le backend doit être lancé sur
http://localhost:3001 - Le frontend est servi sur
http://localhost:5173 - Les données métier ne doivent plus être sauvegardées dans
localStorage - Le seul stockage local accepté est le
authStatede session utilisateur
vite.config.ts: configuration du proxy et de l'alias@src/app/services/api.ts: client API principalserver/server.js: routes API et point d'entrée backendserver/database.js: initialisation de la base SQLite
Pour vérifier le bon fonctionnement :
npm run buildnpm run servernpm run dev
Si l'une des commandes échoue, consultez le dossier doc/ et la documentation de démarrage.
Pour les bugs, problèmes ou questions :
- Discord : MP à
userz_fr(ID: 634442174305402883) - GitHub Issues : Ouvrir une issue pour signaler un bug
- Documentation : Consultez le dossier
doc/pour les guides détaillés