The purpose of this coding challenge is to gauge knowledge in Ruby/Rails. In the coding challenge you will build a Ruby on Rails application that contains a very small subset of our domain at Aumni. Below you will find some helpful terminology to help you understand what these domain specific terms mean.
-
Fund - A Fund is a type of Investment Vehicle that invests the money that it has raised into various Companies.
-
Company - A Company that a Fund invests in. Traditionally called a Portfolio Company from the perspective of the Fund. This is typically a start-up company that is trying to raise money.
-
Equity Financing - Is a round of funding when stock is issued by the Company to Funds investing in the Company. A Company can have multiple Equity Financing rounds in which multiple Funds can invest. A Fund can invest in the same Company in multiple Equity Financings.
-
Investment - A generic term used for simplicity in the coding challenge. A Fund can invest in a Company in myriad ways, but for simplicity, we are just contemplating a simple transaction whereby a Fund purchases shares in a Company for a certain amount of dollars during an Equity Financing.
-
Clone/Download this repository. This is a default Rails application with PostgreSQL used as the database and some testing gems to help you get started.
-
Make your first commit by filling out the
code-challenge-notes.md
file in the root of this directory. -
Once you have made your first commit you will have 72 hours to make your final commit to complete the code challenge.
-
Please do NOT push your code challenge solution to a public repository.
-
This is a backend coding challenge. Please do NOT spend your time building out any kind of UI.
-
You are allowed to install and use third-party packages.
- Run:
bundle install
- Run:
bundle exec rails db:create
- Run:
bundle exec rspec
- Fund
- name -
String
- name -
- Company
- name -
String
- founded -
Date
- name -
- Equity Financing
- date -
Date
- total_shares -
Big Int
- date -
- Investment
- shares -
Big Int
- amount -
Decimal (10,2)
- shares -
- The code passes the test suite.
- You have filled out the required parts of the
code-challenge-notes.md
and made your first commit. - The code is well organized.
- The code follows Ruby/Rails best practices.
- Your Git commit history is clean and meaningful.
The technical interview with the team will be one hour long. Please prepare the technical challenge ahead of time and bring it to that pairing session with the team. They will bring some questions about your implementation and possibly some refactor ideas.