This web application accepts a CSV file of employees and parses that list to output a list of employees that have a birthday this month. The generated list can be exported into a new CSV file.
Follow these steps to run the application locally.
- Clone the repo
git clone https://github.com/jackthta/birthday-month.git
- Change into project directory
cd birthday-month
- Install dependencies
pnpm i
- Launch the application
pnpm dev
The CSV file of employees needs to be a specific format:
name,birthday
...
- The birthday needs to be wrapped with double quotes and can be in any format that is accepted by the
Date
constructor.
Example:
name,birthday
Dennis Ritchie,"January 01, 1970"
Ken Thompson,"January 01, 1970"
...
- For clarity, the CSV header
name,birthday
is required as the first row of the file. The subsequent rows can be filled as necessary; they just have to follow the header format (Dennis Ritchie and Ken Thompson entries are examples).
If you'd like, you can conveniently use this online generator to generate a CSV file of imaginary employees. Please be sure to have the format as CSV
and the first two row inputs as a Names
and Date
data type, respectively.
The testing tool used in this project is Playwright. The documentation can be found here.
There are two required files that need to exist in the employee_data
directory before you run the test suite. These files are used in the test suite to test against (test-generated) files or the UI.
employee_data.csv
- The original CSV file of employees.
employee_${THIS_MONTH}_birthdays.csv
- The CSV file that you exported from the application (contains list of employees that have a birthday this month).
To run the test suite located in the tests
directory, run this command:
pnpm test
- Scaffold project layout, tools, configuration (Sep 21, 2022)
- Build base functionality (Sep 22, 2022)
- Style layout (Sep 25, 2022)
- End-to-end test with Playwright (Sep 26, 2022)
- Create
README.md
and polish (Sep 27, 2022)
Distributed under the MIT License. See LICENSE.md
for more information.
( 🔺 back to top )