Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Megalithic Timeline Project

Investigative science journalism through machine learning in the hands of Citizen Scientist and open data

Project Megalithic Timeline is an open source project to create a webapp for analyzing open data related to the history and peoples who built megalithic structures throughout time. We're a community-driven philanthropic project that began as a collaboration between Addictive Science, LLC, Philly GraphDB, and Neo4j. Our contributors are primarily based in the Philadelphia area, but anyone anywhere is welcome. This GitHub & Trello page are the two key repositories for the administrative and informational home of Megalithic Timeline.


  1. You will need JDK 8 for your platform. OpenJDK is preferred.
  2. Install Scala 2.11.x :
  3. Install SBT 0.13.8 :

Configuring IDE

Intellij IDEA is the preferred IDE, although support for Eclipse will eventually be provided.

  1. Download IntelliJ community version here:
  2. When installing IntelliJ, make sure to check off the options to install Scala and SBT tools
  3. Import the Scala code formatting settings: File -> Import Settings -> $PROJECT_ROOT_FOLDER/ide/settings.jar

Getting the code

  1. You must install Git for your platform.
  2. From GitHub, create a fork of this repository:
  3. Clone your fork: "git clone$YOUR_GITHUB_USERNAME/Node-Graph-Database-Timeline timeline"
  4. Choose Start -> New Project -> SBT -> Choose the root folder for the Timeline project

Development Lifecycle

  1. Create a feature branch in your fork
git checkout -b my-feature
  1. Develop your feature, you can commit as many times as you want into your local branch.
  2. Make sure your branch is up to date with master
# from your feature branch
git checkout master
git pull origin master
git checkout my-feature
git merge master
  1. Run the full build lifecycle to ensure nothing is broken. Run any manual verifications you need to.
  2. Do a squashed merge into master (NOTE - Do not develop features and make spurious commits into master. All work should be done in a feature branch and then squashed into one commit on master)*[]:
    git checkout master
    git merge --squash my-feature
    git commit -m "$YOUR_NAME - adding support for my feature"
    git push origin master
  3. Open a pull request against on GitHub

Building and Running

  • Compile the code
    sbt clean compile
  • Run Tests
    sbt test
  • Package the code
    sbt package
  • Build a runnable JAR
    sbt package assembly
  • Full build lifecylce
    sbt clean compile test package assembly
  • Run the services project
    sbt "project services" "run"


Visually Graphing the Chronology Human Made Megalithic Structure Thought History







No releases published


No packages published