https://github.com/neo4j-examples/movies-java-bolt
Neo4j Movies Example application with SparkJava backend using the neo4j-java-driver
https://github.com/neo4j-examples/movies-java-bolt
bolt cypher graph graph-database java movies-api neo4j
Last synced: about 1 month ago
JSON representation
Neo4j Movies Example application with SparkJava backend using the neo4j-java-driver
- Host: GitHub
- URL: https://github.com/neo4j-examples/movies-java-bolt
- Owner: neo4j-examples
- License: apache-2.0
- Created: 2016-04-14T06:06:53.000Z (about 9 years ago)
- Default Branch: main
- Last Pushed: 2025-04-25T00:34:45.000Z (about 2 months ago)
- Last Synced: 2025-05-08T01:42:32.032Z (about 1 month ago)
- Topics: bolt, cypher, graph, graph-database, java, movies-api, neo4j
- Language: Java
- Homepage: http://my-neo4j-movies-app.herokuapp.com/
- Size: 114 KB
- Stars: 91
- Watchers: 14
- Forks: 73
- Open Issues: 8
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
README
== Neo4j Movies Application: Quick Start
image::https://github.com/neo4j-examples/movies-java-bolt/actions/workflows/maven.yml/badge.svg[CI]
image::http://dev.assets.neo4j.com.s3.amazonaws.com/wp-content/uploads/movie_application.png[float=right,width=400]
This example application demonstrates how easy it is to get started with https://neo4j.com/developer[Neo4j] in Java.
It is a very simple web application that uses our Movie graph dataset to provide a search with listing, a detail view and a graph visualization.
=== The Stack
These are the components of our Web Application:
* Application Type: Java-Web Application
* Web framework: https://www.sparkjava.com/[Spark-Java] (Micro-Webframework)
* Neo4j Database Connector: https://github.com/neo4j/neo4j-java-driver[Neo4j-Java-Driver] for Cypher https://neo4j.com/developer/java[Docs]
* Database: Neo4j-Server (5.x) with multi-database
* Frontend: jquery, bootstrap, https://d3js.org/[d3.js]Provision a database quickly with https://sandbox.neo4j.com/?usecase=movies[Neo4j Sandbox] or https://neo4j.com/cloud/aura/[Neo4j Aura].
=== Endpoints:
Get Movie
----
// JSON object for single movie with cast
curl http://localhost:8080/movie/The%20Matrix// list of JSON objects for movie search results
curl http://localhost:8080/search?q=matrix// JSON object for whole graph viz (nodes, links - arrays)
curl http://localhost:8080/graph
----=== Setup
Make sure to install a https://jdk.java.net/[JDK 17+] and https://maven.apache.org/download.cgi[Apache Maven].
=== Run locally
Just run:
[source,shell]
----
mvn compile exec:java
----Go to http://localhost:8080.
You can search for movies by title or and click on any entry.
Or better you can run Neo4j locally to experiment with your own data.
Start your local Neo4j Server in Neo4j Desktop (https://neo4j.com/download[Download & Install]), open Neo4j Browser.
After logging in, install the Movies graph data set by entering the `:play movies` command, click the CREATE-statement, and hit the triangular "Run" button.=== Configuration options
[%header,cols=2*]
|===
|Environment variable name
|Default value (or N/A)|PORT
|8080|NEO4J_URI
|neo4j+s://demo.neo4jlabs.com|NEO4J_USER
|movies|NEO4J_PASSWORD
|movies|NEO4J_DATABASE
|movies
|===