This repository is built on Create React App with TypeScript configuration
Chakra UI is installed as UI framework
For unit testing, Jest is ready for you and for end-to-end testing it is Cypress
In the repository you will find a ready-made base for Redux Toolkit
You will use our prettier, eslint and typescript config for static testing -
npm run eslint && npm run prettify && npm run typecheck
For quick start follow these commands
npm install
npm start
Then open http://localhost:3000 to see your app.
The assignment is one of three steps when we profile the applicant.
In this step we evaluate:
project architecture
sense of clarity and ability to write readable code
knowledge of best practicess
visual design of the application
programming skills
Simply your code was not sufficient. Since we want to give you a chance and want to see more from you, we ask you to write our assignment.
We understand your time constraint, so our assignment should not take you much time.
Your task will be to write a To Do List
.
You might think a to do list isn't a challenge.
That's right, that is why we're gonna make it littlebit harder.
You can use Chakra UI
design system with our style theme. Which means that you will create the entire task based on the Figma specification. You will also use the Redux toolkit
and demonstrate its practical use.
The assignment will not be completely detailed, i.e. you will have to think about the details. How you handle it is up to you and we will grade you accordingly. You will be given a rough description, and figma specification.
- First, you will create a header where you fill in your first and last name.
- Then you create a container where it will render a row, which will contain an add section button, which will
Add a section
. The row will wrap under itself as the screen shrinks. On a mobile device, each section will be below itself. - Each section will contain a
section title
and asettings button
. The settings will allow you tomark all as done
,edit
, ordelete list
. Each section will have a filter where you will be able to showAll
,To do
orDone
tasks. Each section will contain aninput component
with placeholder - "Add new task", where you will be able to enter thetask description
and then on onEnter save them. - Each task will contain a title and a
more button
. The left border will be colored according to thepriority
of the task and the tasks will be ordered from highest to lowest priority. Clicking on themore button
will open a popup where you canEdit
the task orDelete
the task. - Under the header on the left side will be the
current date
(today) and on the right side will be thefilter
andsettings
button. In the filter button, the user will be able toshow all tasks
,View completed tasks
orView to-do items
. In thesettings
button the user will be able toClear all
orClear all done tasks
. - In the task settings there is an option to
edit task
. When clicked, a modal window opens where the user can change thetask name
ortask description
. He can also specify thepriority
of the task.
- Do you know
Cypress
orJest
? Show yourself! Chakra UI
is too easy for you, never mind... style your own usingStyled Components
or useTailwindcss
- We do not require a strictly responsive UI. But you can make it
- We will be very happy if you use some library for animations
- You don't know the Redux Toolkit. Never mind, don't waste your time and use what you know.
That's it! Good luck!