Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/victoriamcn/employee-management-system

A command-line content management system (CMS) application to manage a company's employee database, using Node.js, Inquirer, and MySQL.
https://github.com/victoriamcn/employee-management-system

api crud-application dotenv expressjs mysql nodejs orm restful-api sequelize sql

Last synced: 2 days ago
JSON representation

A command-line content management system (CMS) application to manage a company's employee database, using Node.js, Inquirer, and MySQL.

Awesome Lists containing this project

README

        

# Employee-Management-System
A command-line content management system (CMS) application to manage a company's employee database, using Node.js, Inquirer, and MySQL.

## Table of Contents
- [User Story](#user-story)
- [Installation](#installation)
- [Tests](#tests)
- [Usage](#usage)
- [Demo](#demo)
- [Contributing](#contributing)
- [Questions](#questions)
- [License](#license)
- [Credits](#credits)

## 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
```

## Installation

In order to install **inquirer**, please write the following in the Command Line: ```npm i [email protected].```

## Usage

1. Clone this repository to your local computer.
2. Open the repo in VS Code.
3. Open the index.js file in the Integrated Terminal.
4. Type the following in the command line: ```npm i```
5. Create your own ```.env``` file with the following content:
```
DB_USER=''
DB_PASSWORD=''
DB_NAME='employees'
```
6. Fill in your MySQL2 username and password in the ```.env``` file.
7. Login to MySQL to create and seed the MySQL database. Exit MySQL.
8. Type the following in the command line: ```node index.js```
9. Use the command line to navigate the management system.
10. To exit, select ```Quit``` from the selections or type ```Control + C```

## Demo

[Click to watch the demo on YouTube](https://youtu.be/w93NYg3hY4E).

## Contributing

To contribute to this project, you may create a git fork.

To view my other projects, you may visit my GitHub profile: [victoriamcn](https://github.com/victoriamcn).

## License

***This project is licensed under MIT.*** [Click](https://pitt.libguides.com/openlicensing/MIT#:~:text=Users%20of%20software%20using%20an,and%20the%20X%20Windows%20System.) here to view the license documentation or go to the [license file](https://github.com/victoriamcn/Employee-Management-System/blob/main/LICENSE) in this repository.

## Credits

### Georgia Tech Staff
- My instructor, [Saurav Khatiwada](https://github.com/khatiwadasaurav).
- My tutor, Juan Delgado.
- My grader for my first attempt, Central Grading - AH.

### npm
- console.table: [LINK](https://www.npmjs.com/package/console.table)
- inquirer: [LINK](https://www.npmjs.com/package/inquirer/v/8.2.4)
- mysql2: [LINK](https://www.npmjs.com/package/mysql2#first-query)

### Example Code
- GitHub: [andrewcmcghie](https://github.com/andrewcmcghie/HW--12-Employee-Tracker/blob/main/server.js)
- GitHub: [anirud314](https://github.com/anirud314/employeeTable)
- GitHub: [EdenKhaos](https://github.com/EdenKhaos/12-mysql-employee-tracker/blob/master/server.js)
- YouTube: [MySQL Node.js Express by Sam Meech-Ward](https://www.youtube.com/watch?v=Hej48pi_lOc)
- YouTube: [MySQL Tutorial for Beginners [Full Course] by Programming with Mosh](https://www.youtube.com/watch?v=7S_tz1z_5bA&list=PLCy9cCBpeyhK8vAF8RpcA3_MUX007O7qc&index=8&t=1525s)
- YouTube: [What is SQL? [in 4 minutes for beginners]: Danielle The](https://www.youtube.com/watch?v=27axs9dO7AE&list=PLCy9cCBpeyhK8vAF8RpcA3_MUX007O7qc&index=9)
- YouTube: [SQL SELECT Tutorial - Part 2 |¦| SQL Tutorial |¦| SQL for Beginners: Socratica](https://www.youtube.com/watch?v=PkJKzR_sClM&list=PLi01XoE8jYojRqM4qGBF1U90Ee1Ecb5tt&index=6)

### Tutorials
- freecodecamp: [JavaScript Switch Case – JS Switch Statement Example](https://www.freecodecamp.org/news/javascript-switch-case-js-switch-statement-example/)
- educative: [How to use the Inquirer Node package](https://www.educative.io/answers/how-to-use-the-inquirer-node-package)
- inquirer documentation: [Usage](https://python-inquirer.readthedocs.io/en/latest/usage.html#question-types)
- medium: [How to write MySQL queries in javascript — part one](https://medium.com/@Nikerys/how-to-write-mysql-queries-in-javascript-part-one-372d4d5e4da7)
- orientdb: [SQL Commands](https://orientdb.com/docs/2.2.x/Commands.html)
- StackOverflow: [How to properly nest inquirer prompts?](https://stackoverflow.com/questions/74075310/how-to-properly-nest-inquirer-prompts)
- StackOverflow: [TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))](https://stackoverflow.com/questions/55308778/typeerror-undefined-is-not-iterable-cannot-read-property-symbolsymbol-iterato)
- StackExchange: [ERROR 1452 (23000): Cannot add or update a child row: a foreign key constraint fails](https://dba.stackexchange.com/questions/320581/error-1452-23000-cannot-add-or-update-a-child-row-a-foreign-key-constraint-f)
- W3 Schools: [MySQL Tutorial](https://www.w3schools.com/MySQL/default.asp)
- W3 Schools: [MySQL UPDATE Statement](https://www.w3schools.com/mysql/mysql_update.asp)
- W3 Schools: [Node.js MySQL Select From](https://www.w3schools.com/nodejs/nodejs_mysql_select.asp)
- W3 Schools: [JavaScript Switch Statement](https://www.w3schools.com/js/js_switch.asp)
- W3 Schools: [JavaScript Class constructor](https://www.w3schools.com/jsref/jsref_constructor_class.asp)
- towardsdatascience: [5 Ways to Query your Relational DB using JavaScript](https://towardsdatascience.com/5-ways-to-query-your-relational-db-using-javascript-d5499711fc7d)