L'objectif de l'application est de déterminer le degré de séparation entre Kevin Bacon et un acteur donné via ses rôles dans les films.
Par exemple : Al Pacino
- Al Pacino a joué dans
Carlito’s Way
avecNelson Vasquez
Nelson Vasquez
a joué dansThe Guiding Light
avec Kevin Bacon
Le projet est réparti en deux modules :
- Le back end qui gère la logique et la connexion aux différents Data Stores.
- Le front end qui expose l'IHM.
Pour lancer le projet démarrez deux terminaux et positionnez-vous dans ce répertoire :
cd <path to directory oracle-of-bacon>
Dans le premier, lancez le frontend :
cd oracle-of-bacon-frontend
npm install
npm run dev
Dans le second, lancez le backend :
cd oracle-of-bacon-backend
./gradlew run
Rendez-vous sur a page http://localhost:8080.
Pour la suite du projet, nous vous conseillons d'importer le backend dans votre IDE/éditeur préféré. Sauf désir de créativité 😃, vous n'avez rien à faire dans le front-end.
Les données sont des données qui proviennent de imdb, le dataset est disponible ici : http://bit.ly/imdbdataset
Le site a été bouchonné (cf TODO
), vous devez effectuer les tâches suivantes :
- Importer les données dans Neo4J à l'aide de l'outil d'import :
ìmport-tool
. - Implémenter l'Oracle de Bacon à l'aide de Neo4J dans la méthode
com.serli.oracle.of.bacon.repository.Neo4JRepository#getConnectionsToKevinBacon
- Implémenter la gestion du last 10 search à l'aide de Redis dans la méthode
com.serli.oracle.of.bacon.repository.RedisRepository#getLastTenSearches
- Importer les données à l'iade de ElasticSearch dans
com.serli.oracle.of.bacon.loader.elasticsearch.CompletionLoader
(les liens suivants pourront vous aider : search, mapping et suggest) - Implémenter la suggestion sur le nom des acteurs dans
com.serli.oracle.of.bacon.repository.ElasticSearchRepository#getActorsSuggests
- Implémenter la recherche des acteurs par nom à l'aide de MongoDB dans
com.serli.oracle.of.bacon.repository.MongoDbRepository#getActorByName
L'évaluation de votre travail sera effectuée selon les critères suivants :
- Bon fonctionnement (First make it work)
- Qualité de la solution implémentée (Then make it good)
- Qualité générale de votre code (et de vos commits, il ne faut pas pousser 😃)
La livraison de votre travail s'effectue à l'aide d'une pull-request sur le repository https://github.com/nosql-bootcamp/oracle-of-bacon.
**Vous devez commencer par forker le repository https://github.com/nosql-bootcamp/oracle-of-bacon**