Welcome to the OpenShift Developer Spotlight where we get to know the members of the OpenShift community a little better and show off their skills as developers. Also check out their applications developed on OpenShift in our App Gallery. Interested in being featured? Apply here or view past entries.
What inspired you to be a developer?
I've always liked building things; be it Lego when I was young, sports cars (Formula Student) during my Mechanical Engineering degree or later the Panther armoured vehicle while working for BAE Systems. Code (C++) was never far away and I edged closer with a couple of projects in Matlab before getting a job with a Java house in London-town (I didn't think I'd get it!). So long as I'm "developing" an idea, I'm happy - code or otherwise.
Why did you choose OpenShift as your hosting platform?
Simplicity! While I was working at a mobile app agency, a friend of mine pointed out that it was feasible to come out of workshop with a hosted, mocked set of API end-points as we helped clients with their API-first strategy. OpenShift, with it's node.js support, combined with apiary.io was a great marriage to deliver value fast to clients.
What advantages does OpenShift give you that other platforms don't?
Great documentation, cli-tooling, clean administration dashboard and good extensibility (no lock-ins). OpenShift was my first introduction to the world of PaaS and I must admit, the novelty of "clicking" to add Jenkins or your favorite database hasn't worn off just yet.
Tell us more about your application currently hosted on OpenShift:
- Name: OceanLife API
- What does it do? Provides swell, tide, solar and weather information for anywhere in the world. Built in node.js, backed by MySQL, API documentation via apiary.io, API security delivered via the 3scale cartridge solution and soon to power my Android app "Buoys, Tides & Weather".
- What technologies were used to create your app? node.js (runtime) > sequelize.js (ORM) > express.js (server framework) > moment.js (time) > mocha (test framework) > dredd.js (API Documentation testing!) > istanbul (code coverage) > sinon.js (test mocks) > rewire.js (DI - for unit testing) apiary.io (API documentation) mysql (persistence) haproxy (load balancer)
- What motivated you to create this application and what problems does it solve? Having spent much time in airports with that London-town job I mentioned, I learnt to program for Android and released "Buoys, Tides & Weather" in late 2011. Since this time, the application has evolved to a point where i would like to see how well it can do in the wild up against the likes of MagicSeaweed and Surfline. To do this, I need to make it free and "own" the data backing the application... enter building my own back-end with OpenShift! The application acts as middleware and is (to the best of my knowledge) the first consolidated API condensing all of the major providers of oceanographic information into a one-stop-shop for what's happening in the waters around you.