lobo / recommendation-graph

Final project for the graphs databases course.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

El paradigma NoSQL - Bases de Datos de Grafos: IMDB recommendation graph with GraphQL

Final project for the graphs databases course.

All the important code is in src/start.js.

Install, build and run:

npm install

For Local Development

You need to start Mongodb for Local development .

npm run dev

Setup Instructions

Step 1

Descargarse todos los datasets de https://datasets.imdbws.com/

Step 2

Descargarse mongo

Step 3 - Importar la data

Importar todos los datasets con.

mongoimport --db nosql --collection <collection> --type tsv --file <tsv-descargado>

@see https://docs.mongodb.com/manual/reference/program/mongoimport/

Donde <collection> es:

tsv collection
name.basics.tsv.gz names
title.akas.tsv.gz akas
title.basics.tsv.gz titles
title.crew.tsv.gz crew
title.episode.tsv.gz episodes
title.principals.tsv.gz principals
title.ratings.tsv.gz ratings

Step 4

Clonar el repo, instalar las dependencias y setear la variable de entorno

git clone git@github.com:juanmbellini/recommendation-graph.git
cd recommendation-graph
npm install
echo 'MONGO_HOST=127.0.0.1' > .env

Step 5

cd pre-process
ls | xargs -I{} node {}

Esto hace para cada uno de los archivos escupe un <collection>.json

Puede tomarse su tiempo y generar archivos bastante grandes

Step 6

Para cada uno de los <collection>.json. Hacer

mongoimport --drop --db nosql --collection <collection> --file <collection.json>

Step 7

Crear indices sobre imdbID.

mongo nosql
db.titles.createIndex({ imdbID: 1 })
db.crew.createIndex({ imdbID: 1})
...

Step 8

Correr el proyecto

npm run dev

Abrir localhost:3001/graphiql. Ahi esta la consola de GraphQL

Step 9

El codigo esta en src/start.js. Los resolvers y todo.

Step 10

Abrir la UI

cd ui
npm i
npm start

Authors

About

Final project for the graphs databases course.


Languages

Language:JavaScript 82.5%Language:CSS 12.9%Language:HTML 4.6%