A command-line application to manage a company's employee database, using Node.js, Inquirer, and MySQL
GIVEN a command-line application that accepts user input
- WHEN I start the application
- THEN I am presented with the following options: view all departments, view all roles, view all employees, add a department, add a role, add an employee, and update an employee role
- WHEN I choose to view all departments
- THEN I am presented with a formatted table showing department names and department ids
- WHEN I choose to view all roles
- THEN I am presented with the job title, role id, the department that role belongs to, and the salary for that role
- WHEN I choose to view all employees
- THEN I am presented with a formatted table showing employee data, including employee ids, first names, last names, job titles, departments, salaries, and managers that the employees report to
- WHEN I choose to add a department
- THEN I am prompted to enter the name of the department and that department is added to the database
- WHEN I choose to add a role
- THEN I am prompted to enter the name, salary, and department for the role and that role is added to the database
- WHEN I choose to add an employee
- THEN I am prompted to enter the employee’s first name, last name, role, and manager and that employee is added to the database
- WHEN I choose to update an employee role
- THEN I am prompted to select an employee to update and their new role and this information is updated in the database
The below video is a demonstration of how this application is supposed to work.
Screen-Recording-2022-05-14-at-3.mp4
-
Department
id
: INT PRIMARY KEYname
: VARCHAR(30) to hold department name
-
Role
id
: INT PRIMARY KEYtitle
: VARCHAR(30) to hold role titlesalary
: DECIMAL to hold role salarydepartment_id
: INT to hold reference to department role belongs to
-
Employee
id
: INT PRIMARY KEYfirst_name
: VARCHAR(30) to hold employee first namelast_name
: VARCHAR(30) to hold employee last namerole_id
: INT to hold reference to employee rolemanager_id
: INT to hold reference to another employee that is manager of the current employee. This field may be null if the employee has no manager.
- Add a .env file to the root of the app with the following details
DB_NAME='employee'
DB_USER='root'
DB_PW='xxx'
- MySql2
- Promise-MySql
- Node.js
- Express.js
- Console Table
- Dotenv
- JavaScript
- Inquirer
- Chalk
- Figlet
- Created by Amir Hackett