How rakesh-mora/moviegraph works
MovieGraph is a graph-backed movie discovery application. Users browse and filter movies, open movie details, explore relationship-based connections, request weighted recommendations, or find the shortest path between two films. The React pages call a read-only Express API, whose controllers delegate to movie or recommendation services and parameterized Cypher queries against CognoDB. The README also documents CSV-based graph seeding and optional OMDB posters; those capabilities are included, though their implementation details were not sampled.
Main entry points: App.jsx App routing · movieApi.js Movie API calls · database.js Database driver · MovieDetails.jsx Movie details
Components 23
Discovery interface
- App routing
moviegraph-frontend/src/App.jsx - Home page
moviegraph-frontend/src/pages/Home.jsx - Movie browsing
moviegraph-frontend/src/pages/Movies.jsx - Movie details
moviegraph-frontend/src/pages/MovieDetails.jsx - Graph explorer
moviegraph-frontend/src/pages/GraphExplorer.jsx - Graph visualization
moviegraph-frontend/src/components/graph/GraphViz.jsx - Path explorer
moviegraph-frontend/src/pages/PathExplorer.jsx - Movie API calls
moviegraph-frontend/src/api/movieApi.js - Fetch client
moviegraph-frontend/src/api/client.js
HTTP API
- Express app
server/src/app.js - Movie routes
server/src/routes/movieRoutes.js - Movie controller
server/src/controllers/movieController.js - Health controller
server/src/controllers/healthController.js
Movie graph logic
- Movie service
server/src/services/movieService.js - Recommendation service
server/src/services/recommendationService.js - Movie queries
server/src/queries/movieQueries.js - Recommendation query
server/src/queries/recommendationQueries.js
Graph data
- Database driver
server/src/config/database.js - CognoDB graph
- CSV seeder
server/scripts/seed.js - Movie graph CSVs
data
Other components
- Movie explorer
- OMDB posters
Connections 29
- Movie explorer → App routing: uses
- App routing → Home page: routes
- App routing → Movie browsing: routes
- App routing → Movie details: routes
- App routing → Graph explorer: routes
- App routing → Path explorer: routes
- Graph explorer → Graph visualization: renders
- Home page → Movie API calls: requests data
- Movie browsing → Movie API calls: requests movies
- Movie details → Movie API calls: requests details
- Graph explorer → Movie API calls: requests connections
- Path explorer → Movie API calls: requests paths
- Movie API calls → Fetch client: uses
- Fetch client → Express app: HTTP requests
- Express app → Movie routes: mounts
- Movie routes → Movie controller: dispatches
- Movie controller → Movie service: calls
- Movie controller → Recommendation service: calls
- Movie service → Movie queries: runs queries
- Recommendation service → Recommendation query: runs query
- Movie service → Database driver: opens sessions
- Recommendation service → Database driver: opens sessions
- Health controller → Database driver: checks connection
- Database driver → CognoDB graph: connects
- Movie queries → CognoDB graph: reads graph
- Recommendation query → CognoDB graph: reads graph
- Movie graph CSVs → CSV seeder: loads from
- CSV seeder → CognoDB graph: seeds graph
- Movie details → OMDB posters: loads posters