Build a *simple* landing page generating web application.
We sell a product for which there are many variations (I will share more about the product if you are accepted). We want a system that allows us to create separate landing pages on their own url - for example [url removed, login to view] (this is not a real url). We would like to have an admin page to generate these landing pages. This admin page will include the ability to select the variation, add some specific variation copy (standard how it works copy will remain static), specify some simple SEO customisations. To be clear, we don't want CMS editing capabilities, just simple customisation of some information.
Product information will be available through an restful API for which we will supply a ruby client and credentials. This will give you access to product information in a standard format and product photos.
We have an existing manually coded landing page which you can use as a starting point for the "pitch". We are primarily interested in your technical ability but we are also interested in your ability to think critically about the pitch as well and justify your decisions clearly.
This project provides desired new functionality but is also a test project where successful delivery will most likely result in further work on our main code base. The main code base is inherited and needs a disciplined approach to refactoring and incremental development to make it more awesome.
N.B. I would like you to own this project within the constraints I have outlined. So please ask all the questions you need to deliver on the overall objective of quick and easy landing page creation that converts well.
2. Bootstrap / Responsive grid (breakpoint for phone size device)
4. Ruby on Rails 3.2
5. Git/Github (it will be good to see regular commits)
6. Heroku (set up staging and production environments)
Otherwise keep the architecture as simple as possible.
Apart from the main technologies, the following are desirable for future projects:
1. SauceLabs testing
And your design/development approach will ideally include:
1. Domain driven design.
2. Being pragmatic.
3. Refactoring and incremental development.
4. Test infected, but careful not to create a brittle test suite.
5. BDD with core scenarios covered in feature tests (using capybara but not cucumber!)
I'm interested in people that can take a problem and drive a solution but are also happy to take my direction on the best practices.
I'm representing an Australian company as a Tech Lead / Architect. I have 10 years experience in software development in which I have learned and practiced my craft. My last significant role was working as a Senior Developer for ThoughtWorks so you can expect an agile process, testing, and an innovative and pragmatic approach to development.