{"id":21490148,"url":"https://github.com/alexandrbig1/goit-nodejs-hw-01","last_synced_at":"2026-04-13T23:02:51.090Z","repository":{"id":211159142,"uuid":"728363961","full_name":"Alexandrbig1/goit-NodeJS-hw-01","owner":"Alexandrbig1","description":"🚀 Welcome to the CLI Contact Manager repository! This Node.js command-line interface (CLI) program is designed for efficiently managing contact information. With features such as viewing all contacts, retrieving contacts by ID, deleting contacts, and adding new contacts, this tool is a handy utility for contact management.","archived":false,"fork":false,"pushed_at":"2023-12-30T17:37:53.000Z","size":247,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-17T01:37:46.449Z","etag":null,"topics":["backend","computerscience","css3","frontend","fullstack","fullstack-developer","fullstack-development","fullstack-javascript","html5","javascript","js","json-server","node","node-js","nodejs","nodejs-server","nodemon","softwareengineer","typescript","webdevelopment"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Alexandrbig1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-12-06T19:30:55.000Z","updated_at":"2024-09-02T17:20:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"73092ed0-a848-40e9-88ea-f60237cebbb0","html_url":"https://github.com/Alexandrbig1/goit-NodeJS-hw-01","commit_stats":null,"previous_names":["alexandrbig1/goit-nodejs-hw-01"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fgoit-NodeJS-hw-01","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fgoit-NodeJS-hw-01/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fgoit-NodeJS-hw-01/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Alexandrbig1%2Fgoit-NodeJS-hw-01/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Alexandrbig1","download_url":"https://codeload.github.com/Alexandrbig1/goit-NodeJS-hw-01/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244022714,"owners_count":20385134,"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":["backend","computerscience","css3","frontend","fullstack","fullstack-developer","fullstack-development","fullstack-javascript","html5","javascript","js","json-server","node","node-js","nodejs","nodejs-server","nodemon","softwareengineer","typescript","webdevelopment"],"created_at":"2024-11-23T14:32:06.478Z","updated_at":"2026-04-13T23:02:51.038Z","avatar_url":"https://github.com/Alexandrbig1.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## CLI Contact Manager\n\u003cimg align=\"right\" src=\"https://media.giphy.com/media/du3J3cXyzhj75IOgvA/giphy.gif\" width=\"100\"/\u003e\n\n[![GitHub last commit](https://img.shields.io/github/last-commit/Alexandrbig1/goit-NodeJS-hw-01)](https://github.com/Alexandrbig1/goit-NodeJS-hw-01/commits/main)\n[![GitHub license](https://img.shields.io/github/license/Alexandrbig1/goit-NodeJS-hw-01)](https://github.com/Alexandrbig1/goit-NodeJS-hw-01/blob/main/LICENSE)\n[![Node.js Version](https://img.shields.io/badge/Node.js-v18.18.0-green)](https://nodejs.org/)\n\nThis is a simple command-line interface (CLI) program built with ![Alt text](https://img.shields.io/badge/Node.js-339933.svg?style=for-the-badge\u0026logo=nodedotjs\u0026logoColor=white) for managing contacts. It allows you to perform basic operations on a ![Alt text](https://img.shields.io/badge/JSON-000000.svg?style=for-the-badge\u0026logo=JSON\u0026logoColor=white) file containing contact information such as ID, name, phone number, and email.\n\n## Table of Contents\n\n- [Features](#features)\n- [Examples](#Examples)\n- [Screenshots](#Screenshots)\n- [Issues](#Issues)\n- [License](#License)\n- [Feedback](#Feedback)\n\n## Features\n- **View All Contacts:** Retrieve a list of all contacts stored in the ![Alt text](https://img.shields.io/badge/JSON-000000.svg?style=for-the-badge\u0026logo=JSON\u0026logoColor=white) file.\n- **Get Contact by ID:** Find a specific contact using their unique identifier.\n- **Delete Contact by ID:** Remove a contact from the list based on their ID.\n- **Add New Contact:** Append a new contact to the ![Alt text](https://img.shields.io/badge/JSON-000000.svg?style=for-the-badge\u0026logo=JSON\u0026logoColor=white) file with a generated ID.\n\n## Technologies Used\n- ![Alt text](https://img.shields.io/badge/Node.js-339933.svg?style=for-the-badge\u0026logo=nodedotjs\u0026logoColor=white) The runtime environment for executing the CLI program.\n- **Commander:** A framework for building command-line applications, providing a clean and structured way to define commands and options.\n- **uuid:** Used for generating unique IDs for each contact.\n- **fs/promises:** File system module for handling file operations asynchronously.\n\n## How to Use\n\n1. **Install Dependencies:**\n    ``` bash\n    npm install\n1. **Run the CLI:**\n    ``` bash\n    node src/index.js --\u003ccommand\u003e [options]\n\n## Available Commands\n\n- **list:** Display all contacts.\n    ``` bash\n    node src/index.js --action list\n- **get:** Get contact by ID.\n    ``` bash\n    node src/index.js --action get --id \u003ccontactId\u003e\n- **remove:** Delete contact by ID.\n    ``` bash\n    node src/index.js --action remove --id \u003ccontactId\u003e\n- **add:** Add a new contact.\n    ``` bash\n    node src/index.js --action add --name \u003cname\u003e --email \u003cemail\u003e --phone \u003cphone_number\u003e\n\n## Examples\n\n- **List all contacts:**\n    ``` bash\n    node src/index.js --action list\n- **Get contact by ID:**\n    ``` bash\n    node src/index.js --action get --id 05olLMgyVQdWRwgKfg5J6\n- **Remove contact by ID:**\n    ``` bash\n    node src/index.js --action remove --id qdggE76Jtbfd9eWJHrssH\n- **Add a new contact:**\n    ``` bash\n    node src/index.js --action add --name \"John Doe\" --email \"john.doe@example.com\" --phone \"+1234567890\"\n\n## Project Preview\n\n### Screenshots:\n\n![goit-NodeJS-hw-01](./src/images/hw-1.jpg)\n_Caption for Screenshot 1 (listContacts)_\n\n![goit-NodeJS-hw-01](./src/images/hw-2.jpg)\n_Caption for Screenshot 2 (getContactById)_\n\n![goit-NodeJS-hw-01](./src/images/hw-3.jpg)\n_Caption for Screenshot 3 (addContact)_\n\n![goit-NodeJS-hw-01](./src/images/hw-4.jpg)\n_Caption for Screenshot 4 (removeContact)_\n\n## Issues\n\nIf you encounter any issues or have suggestions, please [open an issue](https://github.com/Alexandrbig1/goit-NodeJS-hw-01/issues).\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n## Feedback\n\nI welcome feedback and suggestions from users to improve the application's functionality and user experience.\n\n## Languages and Tools:\n\n\u003cdiv align=\"center\"\u003e  \n\u003ca href=\"https://www.javascript.com/\" target=\"_blank\"\u003e\u003cimg style=\"margin: 10px\" src=\"https://profilinator.rishav.dev/skills-assets/javascript-original.svg\" alt=\"JavaScript\" height=\"50\" /\u003e\u003c/a\u003e\n\u003ca href=\"https://nodejs.org\" target=\"_blank\" rel=\"noreferrer\"\u003e\u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/nodejs/nodejs-original-wordmark.svg\" alt=\"nodejs\" width=\"40\" height=\"40\"/\u003e\u003c/a\u003e\n\u003ca href=\"https://git-scm.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg\" alt=\"git\" width=\"40\" height=\"40\"/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n## Connect with me:\n\n\u003cdiv align=\"center\"\u003e\n\u003ca href=\"https://linkedin.com/in/alex-smagin29\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/linkedin-%231E77B5.svg?\u0026style=for-the-badge\u0026logo=linkedin\u0026logoColor=white alt=linkedin style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/alexandrbig1\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/github-%2324292e.svg?\u0026style=for-the-badge\u0026logo=github\u0026logoColor=white alt=github style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://discord.gg/uzM3UNQU\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/discord-%237289DA.svg?\u0026style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"Discord\" style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://stackoverflow.com/users/22484161/alex-smagin\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/stackoverflow-%23F28032.svg?\u0026style=for-the-badge\u0026logo=stackoverflow\u0026logoColor=white alt=stackoverflow style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://dribbble.com/Alexandrbig1\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/dribbble-%23E45285.svg?\u0026style=for-the-badge\u0026logo=dribbble\u0026logoColor=white alt=dribbble style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.behance.net/a1126\" target=\"_blank\"\u003e\n\u003cimg src=https://img.shields.io/badge/behance-%23191919.svg?\u0026style=for-the-badge\u0026logo=behance\u0026logoColor=white alt=behance style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003ca href=\"https://www.upwork.com/freelancers/~0117da9f9f588056d2\" target=\"_blank\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/upwork-%230077B5.svg?\u0026style=for-the-badge\u0026logo=upwork\u0026logoColor=white\u0026color=%23167B02\" alt=\"Upwork\" style=\"margin-bottom: 5px;\" /\u003e\n\u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrbig1%2Fgoit-nodejs-hw-01","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexandrbig1%2Fgoit-nodejs-hw-01","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrbig1%2Fgoit-nodejs-hw-01/lists"}