As part of our application process, we'd like to see what you can produce by giving you a small assignment. It should take you no more than a few hours to complete the assignment, but any extra polish or features you might want to put in will not go unnoticed.
We would like you to create an invoicing app. The features it should include:
- Create a new invoice
- Add line items to the invoice. Line items may include hours of work at a certain rate, work-related expenses, materials, labor, etc.
- Add notes to the invoice, including possibly how to pay it, where to send checks, etc.
- Send the invoice via email (does not have to actually send emails, but if it does, great!)
- View invoices including status (paid, outstanding, late, etc.)
Your backend can be anything, and does not have to work. If you would like to use a mocked-out interface, that is fine (even static data in code is ok).
- Add a due date to an invoice
- View late invoices, or even better, alert when an invoice is late
- Polish and UX
- Highly reusable components
- Tests
You should use the following tools to accomplish this task:
- React
- Flux
- Webpack (should run with webpack-dev-server)
- Babel - ES6/7 Syntax - you pick the stages
If you have any questions, please ask!
To complete your homework, please fork this repo and commit your work to your fork. When you are ready for us to look at it, give us access to your fork so we can review and run it.