ReDBox Development - Getting Started

We have a decent amount of information available on our documentation site, however a lot of it directed towards the user community and working on implementations for their home institution rather than core development. The aim of this page is to get you up and running with a development environment with all the tools you need.

1. Set up your accounts to development tools

We utilise a number of online services to facilitate our development. If you are reading this, you already have access to our Atlassian apps so we can knock one off the list (smile) Below is a list of the services we use, what we use them for and how to get an account.

  • Google Apps

We use Google Apps for email, instant messaging, video conferencing (hangouts) and document storage (Google Drive). You will receive an email address using our redboxresearchdata.com.au domain. If you have not yet been given an account for Google Apps ask Andrew or Duncan to set one up for you.

  • Github

Github is where we are hosting all our opensource code and is somewhere you will probably be most active. Create an account on the Github signup page using your redboxresearchdata email address and then let Andrew know your username so he can grant you push permissions to the repositories. Note we have many many repositories (more on that later) and if Andrew misses a repository you may just need to let him know. Also note we also have an organisational Bitbucket account that we use for projects we don't want to be public such as project work for clients.

  • Pivotal Tracker

Pivotal Tracker is where we were tracking our agile development. This is in the process of being moved across to JIRA but if we need to use it in the interim you will be able to access it using your Google Apps credentials.

  • Zendesk

We have a number of support contracts with institutions using ReDBox and Mint. These institutions raise help tickets using Zendesk. We currently share the one account and the details are in our Keepass file.

2. Clone the GitHub Repositories

 Before you start work, you will need some code (smile) Install your Git client of choice, a suggestion for Mac users is the Mac GitHub client but I have not done much research in this area. In Windows, the Windows GitHub client or TortoiseGit are solid choices.

You will need to clone as a bare minimum the following repositories:

https://github.com/the-fascinator/the-fascinator

https://github.com/redbox-mint/redbox

https://github.com/redbox-mint/mint

https://github.com/redbox-mint/redbox-build-dev-local

https://github.com/redbox-mint/mint-build-dev-local

This is definitely not the only repositories you will need but it's a good start and most of your work on the core will be in these 5 repositories.

When you need another repository (or if you are just interested) you can find them in the following GitHub organisations:

https://github.com/the-fascinator

https://github.com/the-fascinator-contrib

https://github.com/redbox-mint

https://github.com/redbox-mint-contrib

https://github.com/qcif

3. Install the JDK and Maven

ReDBox and Mint are Java applications so you will need a Java Development Kit (JDK) we are currently supporting Java 1.7. Install the relevant version for your environment from http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html  (note we also run OpenJDK on our server environments so this is possible) .

Maven is our build tool and we are currently using version 2 (version 3 is on our roadmap but there are currently some issues). Download Maven 2 from the maven site and follow the instructions further down the page to install it.

4. Install the IDE

We have a guide written up on our ReDBox site on how to set up Eclipse, it's still relevant however to future proof your environment I'd recommend installing the Spring Tool Suite rather than the standard Eclipse.