A junior colleague went on vacation and handed over a half-done application for you to finish.

He is a very keen learner and benefits a lot from good feedback. Please finish the application and provide a thorough review, touching on all of the issues with the code, explaining the what and the why. Feel free to refactor anything you deem appropriate.

This is a basic TODO list application. Requirements are as such:

  • Should keep a list of tasks which can be "active" and "completed"
  • New task is added as "active"
  • Clicking on "active" task marks it as "completed" by crossing it out
  • Should show a total count of all tasks in the list
  • Name for a new task is specified by typing in an input field
  • There should be a backend service (node.js), which enables data persistence
  • Data storage in firebase (https://firebase.google.com/)

If there is anything unclear about the exact requirements, use your best judgement. Styling of the application is not important, and there will be no additional benefit in extending the application beyond the original requirements.