Rails Programming Task

Business description

You have an implemented Rails app for currency exchange office. The only thing this app is used for - acceptance of exchange applications and show list of all transactions. Client can create 3 types of transactions:

  • small: < $100 (only from USD)
  • large: $100 - $1000 (only from USD). They require more client personal info: first name and last name.
  • extra large > $1000. They require personal info and personal manager to be assigned to control the process. They also allow to convert not only USD.

The office is really fast-growing and going to have millions of transactions and a huge count of personal managers.

In order to be considered for a Rails position, you must complete the following steps.

  1. Setup environment and run the project locally. (Fill free to use Vagrantfile form this repository)
  2. Research the code and find out all weak places in the project (security issues, potential performance problems, parts of the code which can be implemented better and require some refactoring, etc.). We are not talking about UI problems here.
  3. Write short description for each problem you could find to the PROBLEMS.md file.
  4. Fix those, which you think are most important and critical. Important: don't fix all of them. The task should take no longer than 2-3 hours.
  5. Commit and Push your changes to new repository. Send us a pull request. We will get back to you.