MovieMagicBase

GraphQL
Neo4J
Apollo
Recoil.js

A movie database created with data from IMDB

Main page for MovieMagicBase with a grid of movies.
Page showcasing Pulp Fiction the movie
Light mode for the main page
Light mode pulp fiction page
Graph showing 10,000 movies
graphql apollo client interface

A school project to learn GraphQL.

Uses the IMDB Dataset available at https://developer.imdb.com/non-commercial-datasets/

Imported with custom python scripts into Neo4J.

Frontend connects via an Apollo client and server.

Schemas and resolvers are autogenerated with @neo4j/introspector and @graphql-codegen/cli

Also uses Recoil.js to manage state for sorting and filtering.

Both component testing and end-to-end testing have been performed.

We executed tests using the following:

  1. vitest: A modern, fast, and type-safe testing framework for Vite projects.
  2. @testing-library/react: A simple and complete set of React DOM testing utilities that encourage good testing practices.
  3. @testing-library/jest-dom: A set of custom jest matchers that you can use to extend jest. These will make your tests more declarative, clear to read, and to maintain.
  4. jest: A comprehensive JavaScript testing framework.
  5. cypress: An end-to-end testing framework.
  6. @vitest/coverage-istanbul: A plugin for Vitest to generate code coverage reports using Istanbul.