The task is to make to our overly simple employee records tool useable. The application is built using React, Redux, Formik and styled-components. Build the specified functionality upon the existing project, although creative freedom is encouraged.
The project is built with three views; an start page, list view and a create view. The data consists of a list of employee
records store in redux. A complete example of an employee
entry is available in src/redux/employees/index.js
.
Your task is to extend the current funcitonality and implement new features and views. Here is the list of things to be implemented:
- Additional fields to the employee creation page (
src/components/Create/index.js
).- Birth date -
YYYY-MM-DD
- Status - <
ACTIVE
|LEAVE_OF_ABSENCE
|TERMINATED
> - Job title
- Birth date -
- Enhance the page for all employees (
src/components/View/index.js
)- Display all employees
- Edit/Delete
- Functions that might be useful when viewing potentially large lists of data
- Optional:
- Creative flare - enhance the application's styling
We don't expect you to spend more than 8 hours on this test. If you are under time constraints, complete the tasks you started and we can discuss the rest in the interview.
- Download a ZIP file of this repository
- Run
npm install
- Run
npm start
A working application with the above functionality, perhaps a little more. We would like to see an eye for detail and that the code was written for maintainability and scalability.
Things we're looking for:
- Naming
- Structure
- A sound understanding of the basics (JSX, hooks, redux etc)
- Usage of components
- User interaction - feedback
We would like to see the existing cypress test suite extended to test/verify functionality added by you. Documentation can be found here.
Cypress comes with a test GUI which can be opened in Chrome. To open the GUI, use:
npx cypress open
If you want to run Cypress in headless mode instead, run the following command:
npx cypress run
To submit the test, share a private repository with our developers (martinhybergTE
and agnessuTE
and kaishleyTE
) on github.