Installation • Goals • Summary • Improvements •
#Clone the repository locally via HTTPS/SSH/GithubCli
#SSH will look like the command below
git clone git@github.com:{github username here}/employee-management.git
#Install dependencies
npm install
#Start development environment
npm run dev
-
Complete within 4hrs
-
Use Typescript
-
Users can create an employee
-
Users can delete an employee
-
Users can update an employee
-
Users can search for an employee
-
Use local storage to persist data
-
Users can assign an employee to a team
-
Refactor code into smaller components
-
Write Cypress inegration tests
In this project, I set out my goals and prioritized them based on time constraints. I wanted to challenge myself by finding the most efficient solution to the problem at hand. I began by examining examples of employee management apps and using this approach of reverse engineering. I discovered that Material UI had a suitable component that could be used to solve the problem. I read through the documentation to implement basic CRUD functionality, refactored the code for improved readability, and then sought feedback from other engineers for critique.
The UX for adding a new employee is a bit confusing. Currently, users have to scroll to the last page to find the new row, and then update the information from there. A more intuitive approach would be to have a form pop up in a modal when users click the "add employee" button. This would provide direct feedback that the button works and would reduce the time needed to fill out the information. Additionally, I attempted to learn about writing Cypress integration tests by reading through the documentation, but I did not have enough time to write a meaningful test. I am planning to spend more time this weekend to further understand Cypress.