Visually Graphing the Chronology Human Made Megalithic Structure Thought History
Scala
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
ide
project
timeline-model
timeline-service
.gitignore
LICENSE
README.md
build.sbt

README.md

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.

Prequisites

  1. You will need JDK 8 for your platform. OpenJDK is preferred.
  2. Install Scala 2.11.x : http://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
  3. Install SBT 0.13.8 : https://dl.bintray.com/sbt/native-packages/sbt/0.13.8/sbt-0.13.8.tgz

Configuring IDE

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

  1. Download IntelliJ community version here: https://www.jetbrains.com/idea/
  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: https://github.com/AddictiveScience/megalithicTimeline
  3. Clone your fork: "git clone https://github.com/$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 https://github.com/AddictiveScience/megalithicTimeline 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"