Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/williamcrownover/employee-content-management-system
A Node.js app using an Inquirer command line CMS for organizing employees into roles and departments stored in a MySQL database.
https://github.com/williamcrownover/employee-content-management-system
cms command-line-tool content-management-system database dotenv inquirer mysql nodejs
Last synced: about 4 hours ago
JSON representation
A Node.js app using an Inquirer command line CMS for organizing employees into roles and departments stored in a MySQL database.
- Host: GitHub
- URL: https://github.com/williamcrownover/employee-content-management-system
- Owner: WilliamCrownover
- License: mit
- Created: 2021-07-27T06:28:45.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-08-29T03:04:32.000Z (about 3 years ago)
- Last Synced: 2023-07-31T08:50:05.342Z (over 1 year ago)
- Topics: cms, command-line-tool, content-management-system, database, dotenv, inquirer, mysql, nodejs
- Language: JavaScript
- Homepage:
- Size: 754 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Employee Content Management System
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
## Description
This CMS was built with Node.js to help businesses manage their internal departments, roles, and employees using an Inquirer command-line interface connected to a MySQL database. The user can easily navigate through the three categories of data to view tables, add information, update entries, or delete specific data points. Having access to a database keeps the information persistent and makes organizing teams or planning budgets much easier for a business owner. More specifically, the user can view tables that total the combined salaries of all employees grouped by department.
Other technologies that helped the development of the code are ‘dotenv’ for keeping connection passwords confidential and the ‘util’ node module to convert MySQL queries into a promise form. I also took advantage of storing Inquirer questions and query strings in separate files to help dry up the index.js code.
## Table of Contents
- [User Story](#user-story)
- [Walkthrough Video](#walkthrough-video)
- [Installation](#installation)
- [Usage](#usage)
- [Technologies](#technologies)
- [License](#license)
- [Contact](#contact)## 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
```## Walkthrough Video
https://www.youtube.com/watch?v=kd71u3FCdZQ&ab_channel=WilliamCrownover
## Installation
You will need Node.js installed on your local machine to run this app.
Then you can clone this repo to your local machine.
You can then run it in VSCode and open an integrated terminal of the root folder.
Before use, run `npm install` to load any dependencies such as Inquirer to the folder.In the root folder create a `.env` file and paste this line of code changing password to your MySQL root user password: `DB_PASS=password`.
To setup the initial database login to the MySQL shell using `mysql -u root -p` and then run the schema file with `source db/schema.sql`.
You may use the seeds.sql file to populate example tables to the database.
## Usage
After proper installation, the app can be run using `node index.js` in the command line.
The first question and the one you will return to after each end of user choices will ask which category of data you’d like to work with. After that you can explore the options for viewing, adding, updating, or deleting data from that chosen category. Have fun!
## Technologies
- Node.js
- MySQL2
- Inquirer
- Dotenv## License
Licensed under the MIT License - https://opensource.org/licenses/MIT## Contact
If you have any questions you can email me at [email protected].
You can also check out my other work on GitHub at [WilliamCrownover](https://github.com/WilliamCrownover)