Thanks for your interest in the Scout Talent Group. We are excited that you are interested in joining us as a Ruby on Rails developer. Congratulations! You have made it to the next round: a coding challenge.
This challenge involves extending an Instagram clone in Rails. You should add the following feature to the app:
- Friends
- Users should be able to send a friend request to other users
- Users should be able to see a list of friend requests
- Users should be able to accept or decline friend requests
- Users should be able to see a list of any user’s friends
You must have Docker Desktop installed for this to work, as the environment is dockerised.
- In the cloned directory, type
docker compose run --rm web bundle install -j8
- Once that has completed, type
docker compose run --rm web yarn install
- Once that has completed, type
docker compose up db -d
- Once that has completed, type
docker compose run --rm web bundle exec rails db:setup
- Once that has completed, type
docker compose up -d
- In your browser, navigate to
http://localhost:3000
to view the application.
- Commands, such as database migrations, must be run from inside the container.
Type
docker compose exec web bash
to get access to the command line inside the container. - To stop the app, type
docker compose stop
- To restart after stopping, type
docker compose up -d
- To view Rails logs, type
docker compose logs -f web
To remove all the Docker images, containers, and volumes, type docker compose down --rmi all -v
WARNING You will need to redo the steps from "How to run this application" to start again.
- There is no CSS and JS included currently
- Frontend using Haml or Erb, without css
- No limit on gem usage
- You can access the command line to run ruby code via
docker compose exec web sh
- Do not spend more than 120 minutes on your implementation. You do not need to complete all the steps. We are evaluating what you can do in this timeframe and the quality of your work, not necessarily the quantity of code. We are looking for well structured and written code, following current Rails best practices. We will not evaluate your view logic. Testing is not a necessity, but will score you bonus points. Submission
Either
- Add the project as a public repository on your GitHub account, or
- Package up your code in a zip file
Please supply a link or the zip file the [email protected]