Spring MVC application making use of a Neo4j database. The data is read from a GraphQL endpoint and displayed in an Angular frontend, with the help of Angular and d3. The dataset consist on the solar planet.
Several technologies are combined to make this work:
- Spring MVC
- Neo4j
- GraphQL endpoint
- Angular
- Apollo GraphQL
- d3
Documentation is always generated for the latest release, kept in the 'master' branch:
Documentation is also generated from the latest snapshot, taken from the 'develop' branch:
The documentation site is actually a Maven site, and its sources are included in the project. If required it can be generated by using the following Maven command:
mvn verify site -P development
The verify phase is required, otherwise some of the reports won't be generated.
The application is coded in Java, using Maven to manage the project.
Maven profiles are included for setting up the database.
Profile | Server |
---|---|
development | Development settings |
production | Production settings |
Before running, start a local Neo4j database. This will be populated with the dataset.
The database should accept the username neo4j with password secret.
To run the project locally use the following Maven command:
mvn spring-boot:run -P development
It will be accessible at http://localhost:8080/.
The project requires a database and a server for being able to run the integration tests.
Just like running the project, an embedded server with an in-memory database can be used:
mvn verify -P development
Any kind of help with the project will be well received, and there are two main ways to give such help:
- Reporting errors and asking for extensions through the issues management
- or forking the repository and extending the project
Issues are managed at the GitHub project issues tracker, where any Github user may report bugs or ask for new features.
If you wish to fork or modify the code, visit the GitHub project page, where the latest versions are always kept. Check the 'master' branch for the latest release, and the 'develop' for the current, and stable, development version.
The project has been released under the MIT License.