More Premium Hugo Themes Premium React Themes

Neo4j Movies Template

A Neo4j movies React application with backends in Python/Flask and Node/Express.

Neo4j Movies Template

A Neo4j movies React application with backends in Python/Flask and Node/Express.

Author Avatar Theme by neo4j-examples
Github Stars Github Stars: 307
Last Commit Last Commit: Dec 21, 2021 -
First Commit Created: Jan 15, 2024 -
default image

Overview:

This product is a Neo4j-based example app that displays movie and person data in a similar manner to IMDB. It is meant to be used as a template for further development projects. The app has two versions of the backend - a Python/Flask backend and a JavaScript/Express backend. The web frontend is also included. The app allows users to view movie and person data, and provides recommendations based on user ratings.

Features:

  • Neo4j-based app that displays movie and person data.
  • Template for further development projects.
  • Two versions of the backend - Python/Flask and JavaScript/Express.
  • Web frontend included.
  • User-centric, user-based recommendations based on similarity to other users.
  • Ability to add new API endpoints.
  • API endpoints documented using Swagger.

Installation:

Database Setup: Sandbox

  1. Go to the link: https://sandbox.neo4j.com/?usecase=recommendations&ref=movie-app-tutorial
  2. Choose “Recommendations” and press play to start the database.
  3. Edit the file flask-api/.env or api/.env and update the MOVIE_DATABASE_USERNAME, MOVIE_DATABASE_PASSWORD, and MOVIE_DATABASE_URL of your chosen backend to connect to your instance.

Node API

  1. Configure your api/.env file to point to your database.
  2. From the root directory of the project, run the following commands:
cd api
npm use
npm install
node app.js
  1. Access the API documentation at http://localhost:3000/docs

Flask API

  1. Configure your flask-api/.env file to point to your database.
  2. From the root directory of the project, run the following commands:
cd flask-api
npm use
npm install
  1. Access the API documentation at http://localhost:5000/docs

Frontend

  1. From the root directory of the project, run the following commands:
cd web
npm use
npm install
  1. Update the web/.env file with the appropriate settings:
    • If using the Node API, set REACT_APP_API_BASE_URL to http://localhost:3000/api/v0
    • If using the Flask API, set REACT_APP_API_BASE_URL to http://localhost:5000/api/v0
  2. Start the frontend app with the command: npm start
  3. Access the app at http://localhost:3000

Summary:

This Neo4j-based example app is designed to display movie and person data similar to IMDB. It provides two backend options (Python/Flask and JavaScript/Express) and includes a web frontend. The app allows users to view movie and person data and provides recommendations based on user ratings. Users can also contribute to the app by adding new API endpoints. The app is well-documented using Swagger for API endpoint documentation. Overall, it serves as a template for further development projects and provides an alternative to IMDB for movie data display.