MwansaMwango / employee-tracker

A Content Management System (CMS) CLI app for users to view and interact with a company's employee's information

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Employee Tracker

Developers are often tasked with creating interfaces that make it easy for non-developers to view and interact with information stored in databases. Often these interfaces are known as Content Management Systems. I built a solution for managing a company's employees using node, inquirer, and MySQL.

Application Screenshot

Design

Design of the database schema contains three tables:

Database Schema

  • department:

    • id - INT PRIMARY KEY
    • name - VARCHAR(30) to hold department name
  • role:

    • id - INT PRIMARY KEY
    • title - VARCHAR(30) to hold role title
    • salary - DECIMAL to hold role salary
    • department_id - INT to hold reference to department role belongs to
  • employee:

    • id - INT PRIMARY KEY
    • first_name - VARCHAR(30) to hold employee first name
    • last_name - VARCHAR(30) to hold employee last name
    • role_id - INT to hold reference to role employee has
    • manager_id - INT to hold reference to another employee that manager of the current employee. This field may be null if the employee has no manager

Command-line application at a minimum allows the user to:

  • Add departments, roles, employees

  • View departments, roles, employees

  • Update employee roles

Bonus features allows the user to:

  • Update employee managers

  • View employees by manager

  • Delete departments, roles, and employees

  • View the total utilized budget of a department -- ie the combined salaries of all employees in that department

User Story

As a business owner
I want to be able to view and manage the departments, roles, and employees in my company
So that I can organize and plan my business

Employee Tracker

Minimum Requirements

  • The command-line application should allow users to:

    • Add departments, roles, employees

    • View departments, roles, employees

    • Update employee roles

Features

  • The command-line application should allow users to:

    • Update employee managers

    • View employees by manager

    • Delete departments, roles, and employees

    • View the total utilized budget of a department -- ie the combined salaries of all employees in that department

About

A Content Management System (CMS) CLI app for users to view and interact with a company's employee's information

License:MIT License


Languages

Language:JavaScript 80.0%Language:TSQL 20.0%