La plateforme électorale est conçue pour gérer les élections du club de l'école. Elle permet aux étudiants de poser leur candidature pour différents postes et de voter pour les candidats de leur choix.
-
Gestion des candidatures :
- Les étudiants peuvent soumettre leur candidature pour un poste spécifique.
- Vérification de l'éligibilité des candidats basée sur leur matricule.
-
Système de vote :
- Les étudiants peuvent voter pour les candidats aux différents postes.
- Limitation à un seul vote par poste et par étudiant.
- Vérification de l'éligibilité des votants basée sur leur matricule.
-
Sécurité :
- Utilisation du hachage des adresses IP pour prévenir les votes multiples.
- Validation des matricules pour s'assurer que seuls les étudiants autorisés peuvent voter ou se présenter.
L'application est construite en utilisant le framework Flask en Python, avec une base de données SQLite pour le stockage des données.
- app.py : Point d'entrée de l'application Flask.
- config.py : Configuration de l'application, y compris les postes disponibles et les matricules autorisés.
- models.py : Définition des modèles de données (Candidature et Vote).
- routes.py : Gestion des routes et de la logique de l'application.
- utils.py : Fonctions utilitaires pour le hachage et la validation.
- Utilisation de SQLAlchemy comme ORM.
- Deux tables principales : Candidature et Vote.
- Hachage des adresses IP pour le suivi des votes.
- Validation des matricules pour l'autorisation des candidatures et des votes.
- Assurez vous d'avoir MySQL d'installé
- Cloner le dépôt du projet.
- Installer les dépendances :
pip install -r requirements.txt - Modifiez la variable
DATABASE_URIdu fichier config pour configuerer l'access à la base de donnée - Lancer l'application :
python app.py
- Mettre à jour régulièrement la liste des matricules autorisés dans
config.py. - Effectuer des sauvegardes régulières de la base de données.
- Envisager l'ajout de fonctionnalités comme la visualisation des résultats ou la gestion des campagnes électorales.