<aside>
⚠️ Please note you should complete this task within 1 week
</aside>
Introduction
The purpose of this assignment is to evaluate the knowledge and experience working with Python for Web development
- Language: JavaScript (or TypeScript)
- Framework: ExpressJS, NestJS or vanilla NodeJS
- Database: PostgreSQL
Requirements
You’re tasked to develop the backend for a personal TODO application that requires users to be logged in before they can call the APIs. One user can create multiple todo items and one todo item can only belong to a single user. The data model of a todo item & user is as follows:
Todo:
- Id: Unique identifier
- Name: Name of the todo item
- Description (optional): Description of the toto item
- User id: Id of the user who owns this todo item
- Created timestamp: When the item is created
- Updated timestamp: When the item is last updated
- Status: An enum of either: NotStarted, OnGoing, Completed
User:
- Id: Unique identifier
- Email: Email address
- Password: Hash of the password