Projet
L'idée
Pour le projet, Julien et moi voulions adhérer au thème donc nous avons brainstormé sur des idées d'application qui pourrait être utile et amusante qui pourraient aider les étudiants. Initiallement, nous voulions créer une chasse au trésor en cachant des chocolats sur le campus et développer une IA inspirée d'Alice capable de localiser en répondant à des questions. Mais, dès lors que les chocolats auraient été trouvés, nous aurions perdu la rejouabilité. Du coup, nous avons opté pour des énigmes à résoudre en discutant avec Alice en intégrant une map 3D du campus qui aiderait les étudiants à se localiser.
La Tech Stack
Il fallait que le périmètre fonctionnel soit suffisamment simple pour finir le projet en ;oins de 24h. Nous avons utilisé Flask pour le backend. Le fichier app,py
ne fait que 100 lignes et n'est composé que d'un seul point d'entrée acceptant les messages de l'utilisateur et communique avec le service Amazon Lex.
L'application repose sur trois services externes : AWS Lex, Google Directions et Mapbox. L'outil le moins simple était Lex, peut-être du fait que le service soit relativement nouveau et la documentation était obselète pour certaines fonctions. Mais nous n'avions pas besoin de quelque chose de trop poussé, donc Julien a réussi à ajuster Lex pour nos besoins. Ayant déjà utilisé Mapbox et Google API, leur configuration fu assez simple et nous avons passer le plus clair du temps à faire en sorte que l'application soit visuellement belle et moderne.

Nous avons trouvé l'orbe sur Lottie, l'objectif était de se rapprocher de l'orbe sur Siri et mettre Alice dedans; ça match ave le côté wonderland du thème. Pour faciliter l'utilisation de l'app, on a eu l'idée d'intégrer un boutton "Generate Prompt", pour que les utilisateurs aient une idée des possibilités d'Alice AI.
Pour le déploiement, on voulait utiliser Docker et lancer sur AWS Lightsail mais ça n'a pas fonctionné, on s'est demandé si ça valait le coup de prendre un EC2 mais il ne restait plus beaucoup de temps donc on a finit par utiliser Heroku en connectant directement le repo GitHub. Ça a fait l'affaire, Heroku est toujours aussi simple à utiliser. Voici un schéma de la techno utilisée :

Réflexion
Le plus difficile pendant ce projet était de maintenir un périmètre réaliste pendant que les nouvelles idées et les potentielles digressions apparaissaient. Aussi, lorsqu'un souci technique se présentait, nous avons tenté de faire des compromis plutôt que de s'entêter.
L'évènement était vraiment cool; on a passé la nuit à coder, designer une app en mangeant du Halal Guys. C'était mon premier hackathon, et ça me fait plaisir que les juges aient apprécié le concept et récompensé de la seconde place. J'essaierai de participer à de nouveaux hackathons dans le futur.
