Note

create a .env file (or set environment variables) at root level with following contents:-

PORT=8080
EMAIL=test@email.com
EMAIL_PASSWORD=123456
EMAIL_HOST=smtp.ethereal.email
EMAIL_PORT=587

How to configure database

change contents of ormconfig.json file according to your setup.

How to run

npm install
npm start

TaxAdda Backend Assignment

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.

The assignment

We would like you to create the backend for an invoicing app. The APIs 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.
  • Ability to update the status of the invoice
  • Send the invoice via email
  • View invoices including status (paid, outstanding, late, etc.)

Extra credit features

  • Add a due date to an invoice
  • View late invoices, or even better, alert when an invoice is late
  • Tests
  • API Documentation
  • Data Validation

Requirements

You should use the following tools to accomplish this task:

  • Express
  • Node.js

If you have any questions, please ask!

To complete your assignment, 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.