https://github.com/erebelo/spring-neptune-demo
Java REST API project using Spring Boot 3, Neptune and TinkerGraph database
https://github.com/erebelo/spring-neptune-demo
back-end backend backend-api backend-service graph-database java neptune spring spring-boot springboot tinkergraph tinkerpop
Last synced: 4 months ago
JSON representation
Java REST API project using Spring Boot 3, Neptune and TinkerGraph database
- Host: GitHub
- URL: https://github.com/erebelo/spring-neptune-demo
- Owner: erebelo
- License: mit
- Created: 2024-06-27T22:02:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-24T20:25:55.000Z (7 months ago)
- Last Synced: 2025-03-24T21:29:47.538Z (7 months ago)
- Topics: back-end, backend, backend-api, backend-service, graph-database, java, neptune, spring, spring-boot, springboot, tinkergraph, tinkerpop
- Language: Java
- Homepage:
- Size: 354 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spring Neptune Demo
REST API project developed in Java using Spring Boot 3, Neptune and TinkerGraph database.
## Requirements
- Java 17
- Spring Boot 3.x.x
- Apache Maven 3.8.6## Libraries
- [spring-common-parent](https://github.com/erebelo/spring-common-parent): Manages the Spring Boot version and provide common configurations for plugins and formatting.
## Configuring Maven for GitHub Dependencies
To pull the `spring-common-parent` dependency, follow these steps:
1. **Generate a Personal Access Token**:
Go to your GitHub account -> **Settings** -> **Developer settings** -> **Personal access tokens** -> **Tokens (classic)** -> **Generate new token (classic)**:
- Fill out the **Note** field: `Pull packages`.
- Set the scope:
- `read:packages` (to download packages)
- Click **Generate token**.2. **Set Up Maven Authentication**:
In your local Maven `settings.xml`, define the GitHub repository authentication using the following structure:
```xml
github-spring-common-parent
USERNAME
TOKEN
```**NOTE**: Replace `USERNAME` with your GitHub username and `TOKEN` with the personal access token you just generated.
## Run App
- Set the following environment variables if running the project for a spring profile other than `local`: `AWS_REGION`, `AWS_NEPTUNE_ENDPOINT`, `AWS_NEPTUNE_PARTITION_KEY`, and `AWS_NEPTUNE_PARTITION_NAME`.
- Use the application property `aws.neptune.embedded` to switch between Neptune and TinkerGraph database.
- Run the `SpringNeptuneDemoApplication` class as Java Application.## DB Preview
- Hit [Graph Data](http://localhost:8080/spring-neptune-demo/graph/data) to view the graph json data
- Hit [Graph Viewer](http://localhost:8080/spring-neptune-demo/index.html) to view the graph vertex/edge representation## Collection
[Project Collection](https://github.com/erebelo/spring-neptune-demo/tree/main/collection)
## Diagram
[Entity Relationship Diagram](https://github.com/erebelo/spring-neptune-demo/tree/main/db/Entity%20Relationship%20Diagram.png)