This is a command-line application (Content Management System - interface) to manage a company's employee database, it uses Node.Js, Inquirer package, MySQL2 package to connect to a MySQL database and console.table package to print MySQL rows to the console.
- Fork repository
- Clone repository to local environment.
- Node.js must be installed.
- To install all the dependencies (inquirer, mysql2, dotenv, console.table, chalk, figlet) use the following command:
npm install
The application is invoked by using the following command (on the directory containing this project):
node server.js
Below describes the functionality of this application:
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
This project is covered under the MIT license.
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change. Please note we have a code of conduct, please follow it in all your interactions with the project. Contributions follow the Contributor Convenant.