Skip to content

kamen-hursev/rails-project

 
 

Repository files navigation

Rails Test Project

NOTE: This is an empty Rails 4.1 project. Please fork it, and submit a pull request. You're free to use any gems, or tools that you like to complete these tasks.

Goal: Create a customer registration form that allows a customer to register their business with some brokers.

The registration should be a 3 stage process. The 3 stages are:

  1. Selection of brokers
  2. Registration details
  3. Supporting documents uploads

The 3 stages are detailed more below.

1. Selection of brokers

The goal is to allow the customer to choose which brokers they wish to register with.

Functional requirements:

  • The user should be allowed to select up to 3 brokers, but no more.
  • The customer should not be able to proceed without selecting at least one broker

Design requirements:

  • Present the selection of these brokers as 6 boxes
  • Make the selected status (selected/not selected) visually appealing and clear to the user

2. Registration

The goal of the registration page is to help the user complete the form fields in a straightforward and guiding way.

Functional requirements:

  • Use good judgement for validation considerations, and where to handle them (client vs server).
  • The registration form needs to be dynamic, whereby it displays certain fields only in certain company types.
  • Consider appropriate use of Javascript to improve the UX

The 6 types of companies and their form fields are below

  1. Charity
  2. Full name*
  3. Address
  4. Charity number
  5. Email address
  6. Limited company
  7. Company name*
  8. Registration number
  9. Email address
  10. Names of up to 4 Directors*
  11. Partnership
  12. Full name*
  13. Address
  14. Registration number
  15. Names of up to 4 Partners
  16. Public limited company
  17. Company name*
  18. Listed on exchange?
  19. Registration number
  20. Trust
  21. Full name*
  22. Address
  23. Names of all trustees
  24. Sole trader
  25. Full name*
  26. Address

Design requirements:

  • The form should dynamically show the correct fields depending on the company type selected
  • Only when the user has completed the minimal fields (marked with *), should the user be allowed to proceed to the next stage

While not essential, effort on making the UX good with transitions and animations, wherever relevant, would be great.

3. Supporting Documents

Allow the user to upload any supporting documents required for their registration.

Functional requirements:

  • In this test scenario, only limited company registrants need to require supporting documents. They will need to upload 1 file:
  1. Proof of address

For all other company types the registration can allow the user to proceed to the next stage without being asked for a document to upload.

Once the customer has completed all 3 steps, they should see a thank you page.

About

Test project using Rails 4.1

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 80.4%
  • CSS 11.2%
  • JavaScript 8.4%