- Vue d'ensemble
- Fonctionnalités
- Architecture
- Installation
- Configuration
- Documentation API
- Contribution
BuskoGuard est une solution complète de gestion des présences et de contrôle d'accès, conçue avec une architecture monolithique modulaire. Le système utilise la technologie NFC pour un contrôle d'accès sécurisé et offre une gestion complète des présences, des congés et des rapports.
- 🔐 Authentification et autorisation avancées
- 👥 Gestion complète des utilisateurs et départements
- ⏰ Suivi des présences en temps réel
- 🚪 Contrôle d'accès NFC sécurisé
- 📅 Gestion des congés et absences
- 📊 Rapports et statistiques détaillés
- 🔔 Système de notifications en temps réel
- 📱 Interface responsive moderne
- 🌐 API RESTful complète
- 🔄 Intégration Celery pour les tâches asynchrones
buskoguard/
├── 📁 attendance_system/ # Configuration projet
│ ├── 📄 settings.py # Paramètres Django
│ ├── 📄 celery.py # Configuration Celery
│ └── 📄 urls.py # URLs principales
│
├── 📁 presence/ # Application principale
│ ├── 📁 api/
│ │ ├── 📄 views.py # Vues API
│ │ ├── 📄 serializers.py # Sérialiseurs
│ │ └── 📄 urls.py # Routes API
│ ├── 📁 utils/
│ │ ├── 📄 nfc_utils.py # Utilitaires NFC
│ │ └── 📄 attendanceutils.py # Utilitaires présence
│ ├── 📁 permissions/
│ │ └── 📄 custom_permissions.py # Permissions personnalisées
│ ├── 📄 models.py # Modèles de données
│ ├── 📄 tasks.py # Tâches Celery
│ └── 📄 signals.py # Signaux Django
│
├── 📁 frontend/ # Interface utilisateur
│ ├── 📁 src/
│ │ ├── 📁 components/ # Composants React
│ │ ├── 📁 pages/ # Pages
│ │ └── 📁 services/ # Services API
│ └── 📄 package.json
│
├── 📄 requirements.txt # Dépendances Python
└── 📄 manage.py # Script Django
- Python 3.13
- MySQL 8.0
- Node.js 16+
- Redis (pour Celery)
- Lecteur NFC compatible
- Cloner le Repository
git clone https://github.com/josephsamijona/busko_guard2.git
cd busko_guard2
- Configurer l'Environnement Python
python -m venv venv
source venv/bin/activate # Linux/Mac
venv\Scripts\activate # Windows
pip install -r requirements.txt
- Configurer MySQL
mysql -u root -p
CREATE DATABASE buskoguard;
CREATE USER 'buskoguard_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON buskoguard.* TO 'buskoguard_user'@'localhost';
FLUSH PRIVILEGES;
- Configuration Environnement
Créer un fichier
.env
à la racine du projet:
DEBUG=True
SECRET_KEY=your-secret-key
DATABASE_URL=mysql://buskoguard_user:your_password@localhost/buskoguard
REDIS_URL=redis://localhost:6379/0
- Migrations
python manage.py makemigrations
python manage.py migrate
- Créer un Super Utilisateur
python manage.py createsuperuser
- Lancer Celery
celery -A attendance_system worker -l info
- Démarrer le Serveur
python manage.py runserver
POST /api/auth/token/ # Obtenir un token JWT
POST /api/auth/token/refresh/ # Rafraîchir le token
GET /api/users/ # Liste des utilisateurs
POST /api/users/ # Créer un utilisateur
GET /api/users/{id}/ # Détails utilisateur
PUT /api/users/{id}/ # Modifier utilisateur
DELETE /api/users/{id}/ # Supprimer utilisateur
GET /api/attendance-records/ # Liste des présences
POST /api/attendance-records/ # Enregistrer présence
GET /api/statistics/presence/ # Statistiques
[Suite de la Documentation Française...]
# presence/utils/nfc_utils.py
NFC_SETTINGS = {
'READER_PORT': '/dev/ttyUSB0',
'BAUDRATE': 115200,
'TIMEOUT': 2
}
# attendance_system/celery.py
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
- Fork le projet
- Créer une branche (
git checkout -b feature/nouvelle-fonctionnalite
) - Commit les changements (
git commit -m 'Ajout nouvelle fonctionnalite'
) - Push vers la branche (
git push origin feature/nouvelle-fonctionnalite
) - Créer une Pull Request
Django==4.2
djangorestframework==3.14.0
djangorestframework-simplejwt==5.3.1
mysqlclient==2.2.1
celery==5.3.6
redis==5.0.1
channels==4.0.0
python-dotenv==1.0.1
Pillow==10.2.0
django-cors-headers==4.3.1
drf-yasg==1.21.7
django-filter==23.5
- Descripción General
- Características
- Arquitectura
- Instalación
- Configuración
- Documentación API
- Contribución
BuskoGuard es una solución integral de gestión de asistencia y control de acceso, diseñada con una arquitectura monolítica modular. El sistema utiliza tecnología NFC para un control de acceso seguro y ofrece gestión completa de asistencia, permisos e informes.
- 🔐 Autenticación y autorización avanzadas
- 👥 Gestión completa de usuarios y departamentos
- ⏰ Seguimiento de asistencia en tiempo real
- 🚪 Control de acceso NFC seguro
- 📅 Gestión de permisos y ausencias
- 📊 Informes y estadísticas detalladas
- 🔔 Sistema de notificaciones en tiempo real
- 📱 Interfaz responsive moderna
- 🌐 API RESTful completa
- 🔄 Integración Celery para tareas asíncronas
BuskoGuard é uma solução completa de gestão de presença e controle de acesso, projetada com uma arquitetura monolítica modular. O sistema utiliza tecnologia NFC para controle de acesso seguro e oferece gestão completa de presenças, licenças e relatórios.
- 🔐 Autenticação e autorização avançadas
- 👥 Gestão completa de usuários e departamentos
- ⏰ Monitoramento de presença em tempo real
- 🚪 Controle de acesso NFC seguro
- 📅 Gestão de licenças e ausências
- 📊 Relatórios e estatísticas detalhadas
- 🔔 Sistema de notificações em tempo real
- 📱 Interface responsiva moderna
- 🌐 API RESTful completa
- 🔄 Integração Celery para tarefas assíncronas
Language | Support |
---|---|
Français | ✅ Principal |
English | ✅ Full Support |
Español | ✅ Full Support |
Português | ✅ Full Support |
Joseph Sami - GitHub
Project Link: https://github.com/josephsamijona/busko_guard2.git