Skip to content

Instantly share code, notes, and snippets.

@rgazelot
Last active November 13, 2018 15:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save rgazelot/9381a7e4577fadc5f947cdff939acbc8 to your computer and use it in GitHub Desktop.
Save rgazelot/9381a7e4577fadc5f947cdff939acbc8 to your computer and use it in GitHub Desktop.

DaMovieQuiz

Le jeu

Nous t'invitons à coder un jeu génial nommé Da Movie Quiz, qui teste la culture cinématographique du joueur. Le principe de base est ultra simple:

Pour un film donné, le joueur doit trouver parmi une liste de 5 acteurs aléatoires lequel a réellement joué dans le film. Si le joueur donne une bonne réponse, il marque un point, sinon la partie s'arrête.

Et voilà, plutôt basique, mais efficace et fun.

L'exercice

  • Nous attendons que tu réalises la partie backend de ce jeu en exposant une API qui permettrait à un client frontend de l'implémenter. Pour cela il te faudra :

    • Un endpoint pour créer une partie.
    • Un endpoint pour récupérer un film et la liste d'acteurs parmi laquelle le joueur devra trouver la bonne réponse.
    • Un endpoint pour soumettre une réponse.
    • Un endpoint pour récupérer le score et l'état de la partie d'un joueur.
  • Des tests unitaires sur une classe te seront demandés.

  • Une explication sur la façon dont tu aurais implémenté des tests fonctionnels sur ton API.

  • Une documentation type Swagger de tous les endpoints te sera demandée.

Important - Tu n'es pas obligé de développer tous les endpoints. Cependant celui qui propose un film et celui qui permet de répondre sont obligatoires.

Contraintes techniques

  • Nous souhaitons que tu utilises le micro-framework Silex. Celui-ci a l'avantage de te permettre de réaliser tout le jeu, et bien plus encore, en partant d'une page blanche.

  • Côté stockage des données, Redis semble tout indiqué.

  • Pour récupérer les données cinématographiques, nous te proposons d'utiliser l'API http://netflixroulette.net/api/ qui ne nécessite pas d'identification. Tu es libre d'en utiliser une autre si tu as envie.

Derniers mots

Tu ne seras pas jugé sur le jeu en lui-même et sur le fait qu'il fonctionne ou non. Nous regarderons essentiellement la façon dont tu as structuré ton projet, tu manipules les données et si les endpoints que tu auras implémentés sont complets.

Réalise le tout dans un repo git pour qu'on puisse ensuite voir comment tu organises tes commits, faire les codes reviews nécessaires, etc..

Une fois ton jeu finalisé et prêt à être commercialisé, on souhaite voir ton code (comme tu auras tout pushé consciencieusement sur git, pas de problème).

Des questions ?

A tout moment, tu peux m'envoyer un email => remy@wisembly.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment