- After cloning the repo,
cd ticket-lite
yarn
ornpm i
yarn start
ornpm start
Basic unit tests are added for the data to cover the basic functionality.
npm test
to run the unit tests
Apart from what comes from a "CRA" setup following were added
styled-components
: Easy styling component basedstorybook
: Atomic design libraryreact-grid-system
: Light-weight grid layout@dnd-kit/core
: Drag and drop
- ✅ A user should be able to add and label columns.
- Capped it to max 4 column
- new column can be created by pressing [ + ] button next to existing column
- ✅ A user should be able to add and edit cards.
- referring "cards" as "tickets" in the app
- Tickets can be added from any column by pressing [ + ] button in the column
- ✅ A user should be able to move cards between columns.
- DragAndDrop feature is added to move tickets
- ✅ Do make sure the available interactions are intuitive. In other words, we will be considering usability.
- Press and hold before dragging a ticket
- Click on a ticket to edit/view
- ✅ Some kind of persistency (LocalStorage or SessionStorage) is encouraged, though not required.
- Used LocalStorage
- Authentication
- User roles and permissions (to restrict editing board structure)
- Settings to add/configure Ticket fields and field-types to suit broader spectrum of customers need when creating tickets
- Relation between tickets (like "linked", "blocks", "prerequisite", etc)
- Add tracking and monitoring.
- Add more testing and cover the code features
- Wysiwyg editor for description of a ticket
- Of course ticket ownership (assignee) is required.