The task is to create 4-page website (Home, Contact Us, Sign Up and Thank You pages) in the newest version of Ruby on Rails based on the detailed design and specification.
Please refer to the attached designs to better understand the following description.
All the pages share top menu, which sticks to the top on scroll, and collapses into ‘hamburger menu’ on the narrow screens. The open hamburger menu should close both on selecting one of the available menu options or clicking outside of the menu. The menu bar starts of tall when there is no scroll and is animated getting smaller after scroll is introduced.
Selecting ‘Features’ or ‘Pricing’ menu options should result in scrolling the page to the correct section (no jumping to the section).
The top image should take 100% height and width of the screen and always be centered horizontally and preserve aspect ratio. Clicking the chevron that overlays the bottom of the image should result in scrolling one screen down.
The testimonials section should allow to place 3 to 5 ‘slides’ which slide right-left when going between them.
Contact Us and Sign Up pages
⁃ All the form fields are required
⁃ The email address need to have simple validation (check for @, or similar)
⁃ The thank you pages should be shown after form submission
⁃ Sign up page should not have the site footer
Thank You page
⁃ The ‘OK’ button should be a link to the homepage
⁃ HAML should be used for the templates
⁃ CoffeScript should be used for scripting
⁃ SCSS should be used for styles
⁃ Google font Lato should be used for all the text: https://www.google.com/fonts#QuickUsePlace:quickUse/Family:Lato
⁃ The HTML tags used must have the right semantics for elements used: headings, text, etc.
⁃ The website must be responsive and must support screens wide from 320px up. The content should expand up to 1140px after which it should stay centered with only background expanding to the edges of the screen.
⁃ The website should work equally well in all the modern browsers and also be functional in IE8.
⁃ All the text should be placed in the translation file as the website will be available in English and in Spanish.
⁃ There will be a separate domain for each language version: abc-es.com should show Spanish and any other domain should show the default - English, i.e. abc.com. The Spanish domain name should be configured with ENV variable.
⁃ Forms fills should be saved in a single table in the Postgres database and also sent to an email, without blocking request. The site will be run on Puma web server so the email can go out in a separate thread. No background jobs can be used as those will be not available in the production environment. The email address where the emails are delivered to should be configured in an ENV variable. The email should be a plain text containing the list of form field names with values, each one in the separate line.
⁃ The site should have the up to date Analytics script with the Analytics ID being read from ENV variable.
⁃ All the pages should be cached.
⁃ The app should have full test coverage.
⁃ The use of external client side libraries should be kept to minimum.
⁃ All the code delivered should adhere to the best practices and be organized with ease of maintenance in mind.
Suggestions (Opinions on the following are welcome):
⁃ Perhaps BEM https://en.bem.info should be used for organizing and naming of the CSS classes?
⁃ Perhaps use one of those libraries for the testimonials slide show: http://unslider.com http://bxslider.com
⁃ Perhaps use this for menu: http://slicknav.com
Resources you will be provided with
⁃ Detailed design for both desktop and mobile versions. Sketch or Pdf file.
⁃ Text description of the expected behavior of the elements on page
⁃ Necessary images.
⁃ Icon font.
⁃ Access to a BitBucket repo with an empty Rails application.
⁃ Complete app in the provided BitBucket repo.
When applying please provide samples of you previous work (link to live websites preferably) explaining your role in those projects.
In order to fight SPAM, please put the word ‘Milenio’ in the first line of your application.
There is a possibility for more work in the future for the right match. Attached are late mockups. Selected candidate will be provided with the up to date version with some minor changes.
Selected candidate will be given a fixed-price $100 test task, which will involve completing the home page and only in English language version - pretty much only client side work. If the result is up to scratch we will continue with the project.