This project is a React/TypeScript single page application that allows you to search and display employees.
- React
- TypeScript
- Emotion (CSS-in-JS library)
- Jest (testing library)
The project includes the following tasks:
The application displays a list of employees with the following information:
- First name
- Last name
- Email (only for Finance department)
- Telephone (only for IT department)
The application includes a search box that allows users to search for employees by name. If no matches are found, an appropriate error message is displayed.
The application includes a "Submit" button that logs the currently visible employees in the console.
- Clone this repository:
git clone https://github.com/example/employee-search-app.git
- Install dependencies:
npm install
- Start the development server:
npm start
- Run the tests:
npm test
The CI/CD pipeline for this project is implemented using GitHub Actions. Every push to the main branch triggers the "Build and Deploy Employee Search App" workflow. This workflow performs essential tasks such as building the application, running unit tests to ensure code validity, linting the code to enforce style guidelines, and deploying the final product to GitHub Pages for easy access.
The application can be accessed at https://madhavms.github.io/employee-search/
The project also has a Husky pre-commit hook that runs before a commit is made. The hook runs ESLint to check the code staged for commit.