From c163cdee3e23b64f9457847504ec12dec6c661b9 Mon Sep 17 00:00:00 2001 From: Benjamin CAVY Date: Tue, 23 Mar 2021 23:34:49 +0100 Subject: [PATCH] Update readme --- README.md | 60 +++++++++++++++++++------------------------------------ 1 file changed, 21 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index fd24be3..d69ceb6 100644 --- a/README.md +++ b/README.md @@ -6,24 +6,28 @@ L'objectif de l'application est de déterminer le degré de séparation entre Ke Par exemple : **Al Pacino** -* **Al Pacino** a joué dans `Carlito’s Way` avec `Nelson Vasquez` -* `Nelson Vasquez` a joué dans `The Guiding Light` avec **Kevin Bacon** +- **Al Pacino** a joué dans `Carlito’s Way` avec `Nelson Vasquez` +- `Nelson Vasquez` a joué dans `The Guiding Light` avec **Kevin Bacon** ![](./example-oracle-of-bacon.png) ## Les modules + Le projet est réparti en deux modules : -* [Le back end](./oracle-of-bacon-backend) qui gère la logique et la connexion aux différents Data Stores. -* [Le front end](./oracle-of-bacon-frontend) qui expose l'IHM. +- [Le back end](./oracle-of-bacon-backend) qui gère la logique et la connexion aux différents Data Stores. +- [Le front end](./oracle-of-bacon-frontend) qui expose l'IHM. ## Pour démarrer + Pour lancer le projet démarrez deux terminaux et positionnez-vous dans ce répertoire : + ```BASH cd ``` Dans le premier, lancez le frontend : + ```BASH cd oracle-of-bacon-frontend npm install @@ -31,6 +35,7 @@ npm run dev ``` Dans le second, lancez le backend : + ```BASH cd oracle-of-bacon-backend ./gradlew run @@ -41,48 +46,25 @@ 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é :smiley:, vous n'avez rien à faire dans le front-end. ## Le data set + Les données sont des données qui proviennent de imdb, le dataset est disponible ici : http://bit.ly/imdbdataset ## Votre mission + 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`](http://neo4j.com/docs/operations-manual/current/tutorial/import-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'aide de ElasticSearch dans `com.serli.oracle.of.bacon.loader.elasticsearch.CompletionLoader` (les liens suivants pourront vous aider : [search](https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html), [mapping](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html) et [suggest](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html)) -* 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` (PS : les données utiles à la recherche des acteurs sont celles importées lors de l'étape [mongodb-102](https://github.com/nosql-bootcamp/mongodb-102)) + +- Importer les données dans Neo4J à l'aide de l'outil d'import : [`ìmport-tool`](http://neo4j.com/docs/operations-manual/current/tutorial/import-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'aide de ElasticSearch dans `com.serli.oracle.of.bacon.loader.elasticsearch.CompletionLoader` (alternativement vous pouvez importer les données avec le script node dans `script/insert.js`) (les liens suivants pourront vous aider : [search](https://www.elastic.co/guide/en/elasticsearch/reference/current/search.html), [mapping](https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html) et [suggest](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-suggesters.html)) +- Implémenter la suggestion sur le nom des acteurs dans `com.serli.oracle.of.bacon.repository.ElasticSearchRepository#getActorsSuggests` 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 :smiley:) + +- 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 :smiley:) 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** - -:warning: Si vous êtes sur Windows, il peut y avoir des problèmes au lancement du `frontend`. Si cela se produit, il faut désactiver `eslint`. Pour cela, dans le fichier `oracle-of-bacon-frontend/build/webpack.base.conf.js`, il faut supprimer - * les lignes 36 à 49 - ``` - preLoaders: [ - { - test: /\.vue$/, - loader: 'eslint', - include: projectRoot, - exclude: /node_modules/ - }, - { - test: /\.js$/, - loader: 'eslint', - include: projectRoot, - exclude: /node_modules/ - } - ], - ``` - * les lignes 83 à 85 - ``` - eslint: { - formatter: require('eslint-friendly-formatter') - }, - ``` -