{"id":26057602,"url":"https://github.com/lunahoushmand16/employeetracker-cli-app","last_synced_at":"2026-04-12T16:02:27.694Z","repository":{"id":280888062,"uuid":"943502056","full_name":"lunahoushmand16/EmployeeTracker-Cli-App","owner":"lunahoushmand16","description":"This project is a command-line application that manages a company's employee database using Node.js, Inquirer, and PostgreSQL.","archived":false,"fork":false,"pushed_at":"2025-03-05T20:25:44.000Z","size":5,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-05T21:44:47.830Z","etag":null,"topics":["cms","database","inquirer","node-js","node-postgres","postgresql-database"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lunahoushmand16.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-05T20:09:28.000Z","updated_at":"2025-03-05T20:28:16.000Z","dependencies_parsed_at":"2025-03-05T21:44:49.371Z","dependency_job_id":"cf525bc1-55cf-4909-bb13-daeca48665d7","html_url":"https://github.com/lunahoushmand16/EmployeeTracker-Cli-App","commit_stats":null,"previous_names":["lunahoushmand16/employeetracker-cli-app"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lunahoushmand16%2FEmployeeTracker-Cli-App","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lunahoushmand16%2FEmployeeTracker-Cli-App/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lunahoushmand16%2FEmployeeTracker-Cli-App/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lunahoushmand16%2FEmployeeTracker-Cli-App/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lunahoushmand16","download_url":"https://codeload.github.com/lunahoushmand16/EmployeeTracker-Cli-App/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242546022,"owners_count":20147096,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cms","database","inquirer","node-js","node-postgres","postgresql-database"],"created_at":"2025-03-08T11:49:51.703Z","updated_at":"2025-10-27T00:31:15.053Z","avatar_url":"https://github.com/lunahoushmand16.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# EmployeeTracker-Cli-App\n\nDevelopers frequently need to create interfaces that allow non-developers to easily view and interact with information stored in databases. These interfaces are called content management systems (CMS). This project is a command-line application that manages a company's employee database using Node.js, Inquirer, and PostgreSQL. While traditional CMS platforms often have graphical interfaces, this CLI-based CMS enables efficient interaction with employee records through structured prompts, allowing users to add, update, and retrieve employee data seamlessly.\n\n- **Motivation:** The motivation behind this project was to develop a structured and efficient way for businesses to manage their employee records without needing a complex GUI. By leveraging a command-line interface, users can interact with a company's employee database easily and efficiently.\n- **Purpose:** The purpose of this application is to provide HR teams and managers with a streamlined way to manage employee information, including departments, roles, salaries, and reporting structures. This CLI tool eliminates the need for manual record-keeping and enables smooth database management.\n- **What I Learned:** Through this project, I learned how to integrate PostgreSQL with Node.js, use the pg package for database interactions, and implement Inquirer.js for user-friendly CLI interactions. Additionally, I gained experience with handling SQL queries, foreign key constraints, and managing relational data structures effectively.\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Usage](#usage)\n- [Credits](#credits)\n- [License](#license)\n- [Badges](#badges)\n- [Features](#features)\n- [How to Contribute](#how-to-contribute)\n- [Tests](#tests)\n- [Video](#video)\n\n## Installation\n\n1. Clone the repository:\n   ```sh\n   git clone https://github.com/lunahoushmand16/EmployeeTracker-Cli-App\n   ```\n2. Navigate to the project folder:\n   ```sh\n   cd EmployeeTrackinr-Cli-App\n   ```\n3. Install dependencies:\n   ```sh\n   npm install\n   ```\n4. Install PostgreSQL package:\n   ```sh\n   npm install pg\n   ```\n5. Run the application:\n   ```sh\n   npm run start\n   ```\n\n## Usage\n\n- The application allows users to manage employee records efficiently via a command-line interface.\n\n- Users can view all departments, job roles, and employees in a structured format.\n\n- New employees, roles, and departments can be added dynamically.\n\n- Existing employee roles and managers can be updated easily.\n\n- Employees can be filtered by their department or manager for better organization.\n\n- Users can delete employees, roles, and departments if needed.\n\n- Provides a structured and interactive experience using Inquirer prompts.\n\n### Example And Sample Output:\n\n```\nGIVEN a command-line application that accepts user input\nWHEN I start the application\nTHEN 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\nWHEN I choose to view all departments\nTHEN I am presented with a formatted table showing department names and department ids\nWHEN I choose to view all roles\nTHEN I am presented with the job title, role id, the department that role belongs to, and the salary for that role\nWHEN I choose to view all employees\nTHEN 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\nWHEN I choose to add a department\nTHEN I am prompted to enter the name of the department and that department is added to the database\nWHEN I choose to add a role\nTHEN I am prompted to enter the name, salary, and department for the role and that role is added to the database\nWHEN I choose to add an employee\nTHEN I am prompted to enter the employee's first name, last name, role, and manager, and that employee is added to the database\nWHEN I choose to update an employee role\nTHEN I am prompted to select an employee to update and their new role and this information is updated in the database\n```\n\n### Screenshots:\n\n![Database schema Design](./Develop/assets/DatabaseSchema-Design.png)\n![Example application being used](./Develop/assets/application-used.png)\n\n## Credits\n\n- Created by **[Luna Houshmans](https://github.com/lunahoushmand16)**\n- Built with [Inquirer.js](https://www.npmjs.com/package/inquirer/v/8.2.4) and [Node.js](https://nodejs.org/) \n- Link for info [node-postgres](https://www.npmjs.com/package/pg)\n- Link for info [PostgreSQL](https://www.postgresql.org/docs/current/app-psql.html)\n- Info about how to choose your license [Licenses](https://choosealicense.com/licenses/)\n\n## License\n\nThis project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details.\n\n## Badges\n\n![GitHub repo size](https://img.shields.io/github/repo-size/lunahoushmand16/EmployeeTracker-Cli-App)\n![GitHub contributors](https://img.shields.io/github/contributors/lunahoushmand16/EmployeeTracker-Cli-App)\n![GitHub stars](https://img.shields.io/github/stars/lunahoushmand16/DevPro-Readme-Generator?style=social)\n\n## Features\n\n- 👥 View All Employees: Lists all employees with job titles, departments, salaries, and managers.\n\n- ➕ Add a Department: Allows users to create new departments.\n\n- ➕ Add a Role: Enables users to add new job roles.\n\n- ➕ Add an Employee: Facilitates adding new employees with assigned roles and managers.\n\n- ✏️ Update an Employee Role: Modifies an employee's role in the organization.\n\n- 👨‍💼 Update Employee Manager: Assigns or updates an employee's manager.\n\n- 🏢 View Employees by Department: Retrieves employees filtered by department.\n\n- 👨‍💼 View Employees by Manager: Fetches employees reporting to a specific manager.\n\n- 🗑️ Delete Departments, Roles, and Employees: Allows users to remove these tables from the system.\n\n## How to Contribute\n\n1. Fork the repository\n2. Create a new branch: `git checkout -b feature-name`\n3. Make changes and commit: `git commit -m 'Added new feature'`\n4. Push changes: `git push origin feature-name`\n5. Open a pull request\n\n## Tests\n\nInstall dependencies and run the databse by fierst log-in to database by 'psql -U postgres' and enter your Pass and run \\i schema.sql and \\i seeds.sql and then Run the application with node index.js or Use 'npm run build \u0026\u0026 npm run start' to run the CLI app in one step\nAnd start to play around with adding employee, department, managers and Update employee managers, Delete departments, roles, and employees and more ... \n\n## Video\n\n[Watch the demo](https://app.screencastify.com/v3/watch/2tehEqq17MaAc2aewi40)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunahoushmand16%2Femployeetracker-cli-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flunahoushmand16%2Femployeetracker-cli-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flunahoushmand16%2Femployeetracker-cli-app/lists"}