Welcome to the MirrorWeb Tech Test! We'd like to see how you approach building out a simple full-stack application, as well as how you organise your code for others to follow.
There are two parts to the application - the server (found here), and the UI (found here). We'd like you to use both to create a simple todo application that's a joy to use!
๐จ Attention! Please DON'T use any libraries other than the ones already installed (e.g. no data fetching or forms libraries) - just React and what the browser gives you.
However, if you know some libraries you feel would enhance the UX of your app and/or make its development easier, this is a great thing to discuss during your interview!
As a minimum, we'd like your app to offer the following core features:
- Viewing a list of todos
- Creating new todos
- Updating the text existing todos
- Toggling a todo between 'active' and 'complete'
- Deleting todos
- Filter todos by 'active' and 'completed'
Beyond that, how you implement things and present them is up to you. However, remember to approach things as a real user would - this means thinking not just about the correct way to use the app, but how they may misuse it too...
Writing some Playwright or Puppeteer tests for your complete application is a great way to show you've thought about users will interact with your application!
- DON'T use any libraries other than the ones already installed (e.g. no data fetching or forms libraries) - just React and what the browser gives you. However, if you know libraries you feel would enhance the UX of your app and/or make its development easier, this is a great thing to discuss during your interview!
- For styling, Vite supports CSS/SCSS Modules, PostCSS, and plain old CSS out-of-the-box - what you use is up to you. We're not looking for a super app, only enough that it's clear to the user what's happening and the UI interactions/controls are accessible.
- Please endevour to use semantic and accessible HTML markup wherever possible.