ENSIIE / Projet web / Application gestion des parrainages

Application gestion des parrainages.

Contexte du projet

Le parrainage … A l’école, c’est une très très bonne occasion de recevoir de l’aide pour les cours, les projets, des conseils, des amis et très rarement avoir l’opportunité de partager une bière (enfin …).
Bref le parrainage c’est aussi l’occasion d’avoir une généalogie derrière soit et devant soit. Parfois simple à retenir comme les lignées uniques ou plus complexe comme ceux qui font la compétition du plus grand nombre de Fillot / Parrain.
Mais il y a aussi les débiles, qui créent des boucles au sein de la généalogie et on y pige plus rien !

Pré-requis

Comme pour tous les sujets, on devra au moins retrouver dans l’application finale les parties suivantes :

  • Une authentification
  • Un compte administrateur donnant les droits à certaines fonctionnalités (au choix)
  • Un profil utilisateur éditable
  • Une base de données relationnelle :
  • au moins 3 tables
  • au moins une table de jointure (1…n, n…n)
  • au moins une jointure dans une requête
  • des INSERT, DELETE, UPDATE, SELECT
  • Un CRUDL (Create Read Update Delete List)
  • Du javascript (au minimum validation JS des formulaires)

Objectifs

Vous l’aurez donc compris, le but de ce projet est de proposer une application permettant de gérer toute les relations entres les élèves et leur parrains. A ce propos, vous pouvez avoir un exemple de ce qu’un anciens élève a déjà fait à ce sujet pour s’amuser à représenter les relations parrains <-> fillots : http://prevost.iiens.net/gen/.

Il va donc falloir créer une application permettant aux élèves de construire leur généalogie, ajouter des parrains, ajouter des fillots, consulter l’arbre des fillots, l’arbre des parrains, toute la généalogie, etc.

Les difficultés du projet

Ici, on va avoir affaire a du SQL de façon un peu plus poussée que sur les autres projets. La gestion des données relationnelles sous forme d’arbre peu parfois être complexe et pour qu’elle soit efficace est souvent géré directement via la base de donnée et le SQL.

Au cas où ce ne serait pas un sujet que vous auriez traité en cours, voici quelques slides pour détailler les différentes façon de gérer les arbres en postgresql : https://docs.google.com/presentation/d/19UVX82Kf7eT_NkniWu3cBiD8AsltwqqVneK1Fb-IrCU/edit#slide=id.g89126d0b8_0_0

Propositions de features

Comme pour tous les projets, vous pouvez choisir de l’adapter / de l’étoffer tant que tous les pré-requis sont remplis. Voici en exemple une petite liste de fonctionnalités qui pourraient être implémentées dans le cadre du projet :

  • Double système de parrainage. Le parrainage inter-élève et le parrainage élèves – a3ie
  • Un mode de représentation graphique stylé (en utilisant par exemple des librairies js de représentation d’arbre)
  • Rajouter une validation sur les demandes de parrainages
  • Gérer les cas particulier et les élèves qui crée des boucles dans la généalogie.
  • etc