Skip to content

jessicablank/employee-directory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

React Employee Directory

GitHub stars GitHub forks License: MIT GitHub issues

Deployed on GitHub pages: https://github.com/jessicablank/employee-directory

Description:

This is my first boot camp homework assignment bootstrapped with Create React App(https://github.com/facebook/create-react-app). Originally designed as an employee directory, now re-imagined as an international agent directory.

💁 Is it for someone seeking an agent for a mission, or is it for agents seeking other agents for companionship?

I'll let you decide!

Table of Contents:

Installation Instructions

Fork, clone, or download. npm i to load dependencies.

Project Story

The original homework assignment for this project produced a pretty basic application that met the requirements below for Minimum Viable Product (MVP):

  • When the page loads, a list of random employees from Random User Generator API (https://randomuser.me/) is displayed in a table.
  • When the user clicks on the icon next to email, the employees are sorted in ascending or descending order based on email address.
  • Provide a search box for users to dynamically search by one category.

demonstration gif

I came back to this assignment to test adding a React loading indicator using npm packages react-promise-tracker and react-loader-spinner.

When I reviewed my code, I realized I could create better componentization to add the sorting function to other fields. Reviewing the Random User Generator API gave me the idea to make this an agent directory.

This version also uses the Country Flags API (https://www.countryflags.io/) to show the country flag for the agent's nation of origin.

The Directory

Component Structure

Original File Structure:

├── App.css
├── App.jsx
├── components
|  ├── EmployeeTable.js <--All the sorting logic was here. Very Limiting -->
|  ├── Header.js
|  └── TableRow.js
├── index.js
└── utils
   └── API.js

Refactored File Structure

   ├── App.css
   ├── App.jsx
   ├── components
   |  ├── DataSort.js
   |  ├── EmployeeTable.js
   |  ├── HandleSearch.js
   |  ├── Header.js
   |  ├── LoadingIndicator.js
   |  ├── Modal.js <--Saving for future development-->
   |  └── TableRow.js
   ├── index.js
   ├── styles
   |  ├── Header.css
   |  └── SearchBox.css
   └── utils
      └── SortToggle.js

Technologies Used

Questions

You can reach the author, Jessica Blankemeier, via github and email GitHub

License

Copyright 2020 - present Jessica Blankemeier. This project is licensed under the terms of the MIT license. More information is available at opensource.org/licenses;

About

💁 Dynamically sort employees of a secret company and search for them by name.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors