Inspiration

En tant qu'étudiants, nous avons souvent du mal à gérer notre temps, et nous nous sommes dits qu'une application permettant d'organiser notre semaine à notre place pourrait être très utile.

Ce que ça fait

Ce projet est un calendrier intelligent, dont le but est de pousser l'utilisateur à effectuer ses tâches et respecter son agenda, de la manière la plus bénéfique possible pour la santé de l'utilisateur. Par exemple, dans le cas où ce dernier doit effectuer un quiz d'ici lundi soir, ce calendrier permettrait d'indiquer le nombre d'heures travaillées avant l'évènement en question de sorte à ce que la charge de travail soit correctement balancée. De plus, un système de niveau est en place afin de récompenser l'utilisateur lorsque ce dernier respecte les engagements qu'il a pris.

Comment on l'a fait

Nous avons développé cette web-app en utilisant le framework Symfony, Boostrap et une librairie permettant d'afficher un calendrier (tui.calendar). Nous avons aussi créé un système permettant d'héberger notre application web sur plusieurs machines virtuelles différentes grâce à Docker et Openstack Octavia notamment, afin de faire du load balancing entre plusieurs serveurs quand la demande est présente. Nous avons aussi créé un script (scale.py sur Gitlab) qui permet d'automatiquement ajouter de nouvelles machines virtuelles si la demande augmente au niveau du serveur web, ainsi que de supprimer les machines virtuelles peu utilisées.

Les difficultés rencontrées

Nous avons rencontré les problèmes suivants, en premier lieu, nous avions des problèmes de connexion aux machines OVH hébergeant notre application, de plus, la librairie que nous avions choisi n'implémentait pas certaines fonctions comme la sauvegarde des éléments dans un calendrier et que par conséquent, nous avons dû mettre en place une solution élaborée par nos soins.

Les exploits donc nous sommes fiers

Nous somme fiers d'être partis de peu de connaissances en développement web et d'être arrivés à une application fonctionnelle que nous somme capables de présenter aux juges aujourd'hui. Nous avons réussi à surpasser des challenges difficiles tout au long du parcours.

Ce que nous avons appris

Nous avons beaucoup appris sur la programmation web autant côté backend que frontend, ainsi que sur le fonctionnement des load balancers et des systèmes de scaling et de redondance. Nous avons aussi appris comment bien gérer un projet avec des contraintes de temps et à travailler mieux en équipe

Le prochaine étape pour SmartCal

Après le Hackatown, nous espérons améliorer notre projet avec de la documentation, des tests, du nettoyage et de nouvelles fonctionnalités. Nous avons beaucoup aimé faire ce projet et nous ne voulons pas l'abandonner de si tôt !

Share this project:

Updates