Develop an application that supports creating, deleting, and listing todos. When submitting a new todo, the UI should update immediately. Pending network requests should be communicated with some kind of indicator. Using something like JSON Server
is acceptable. At the very least you should have typings defined for your Todo
objects–typing responses/requests/errors will earn extra points.
Create your own repository using this template to begin and assign the Reliability point of contact as a collaborator once you're ready for us to review your work. 💪
- Adding a new todo
- Listing active/incomplete todos
- Deleting todos
- Editing todos
- Vite
- React
- Typescript
- Tanstack Query
- Zustand or Valtio if global application state is appropriate
- Implement a backend using language/framework of your choosing
- Support undo for editing and deleting
- Persist data to the client
- Persist database to disk (any db acceptable, including SQLite/LowDB)
- Support setting and changing priority for todos
- Implement crosstab state updates/communication
- Use Radix and/or HeadlessUI with Tailwind to create and style a component kit