Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/alexandrbig1/goit-nodejs-hw-01

🚀 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.
https://github.com/alexandrbig1/goit-nodejs-hw-01

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

Last synced: about 1 month ago
JSON representation

🚀 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.

Awesome Lists containing this project

README

        

## CLI Contact Manager

[![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)
[![GitHub license](https://img.shields.io/github/license/Alexandrbig1/goit-NodeJS-hw-01)](https://github.com/Alexandrbig1/goit-NodeJS-hw-01/blob/main/LICENSE)
[![Node.js Version](https://img.shields.io/badge/Node.js-v18.18.0-green)](https://nodejs.org/)

This 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&logo=nodedotjs&logoColor=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&logo=JSON&logoColor=white) file containing contact information such as ID, name, phone number, and email.

## Table of Contents

- [Features](#features)
- [Examples](#Examples)
- [Screenshots](#Screenshots)
- [Issues](#Issues)
- [License](#License)
- [Feedback](#Feedback)

## Features
- **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&logo=JSON&logoColor=white) file.
- **Get Contact by ID:** Find a specific contact using their unique identifier.
- **Delete Contact by ID:** Remove a contact from the list based on their ID.
- **Add New Contact:** Append a new contact to the ![Alt text](https://img.shields.io/badge/JSON-000000.svg?style=for-the-badge&logo=JSON&logoColor=white) file with a generated ID.

## Technologies Used
- ![Alt text](https://img.shields.io/badge/Node.js-339933.svg?style=for-the-badge&logo=nodedotjs&logoColor=white) The runtime environment for executing the CLI program.
- **Commander:** A framework for building command-line applications, providing a clean and structured way to define commands and options.
- **uuid:** Used for generating unique IDs for each contact.
- **fs/promises:** File system module for handling file operations asynchronously.

## How to Use

1. **Install Dependencies:**
``` bash
npm install
1. **Run the CLI:**
``` bash
node src/index.js -- [options]

## Available Commands

- **list:** Display all contacts.
``` bash
node src/index.js --action list
- **get:** Get contact by ID.
``` bash
node src/index.js --action get --id
- **remove:** Delete contact by ID.
``` bash
node src/index.js --action remove --id
- **add:** Add a new contact.
``` bash
node src/index.js --action add --name --email --phone

## Examples

- **List all contacts:**
``` bash
node src/index.js --action list
- **Get contact by ID:**
``` bash
node src/index.js --action get --id 05olLMgyVQdWRwgKfg5J6
- **Remove contact by ID:**
``` bash
node src/index.js --action remove --id qdggE76Jtbfd9eWJHrssH
- **Add a new contact:**
``` bash
node src/index.js --action add --name "John Doe" --email "[email protected]" --phone "+1234567890"

## Project Preview

### Screenshots:

![goit-NodeJS-hw-01](./src/images/hw-1.jpg)
_Caption for Screenshot 1 (listContacts)_

![goit-NodeJS-hw-01](./src/images/hw-2.jpg)
_Caption for Screenshot 2 (getContactById)_

![goit-NodeJS-hw-01](./src/images/hw-3.jpg)
_Caption for Screenshot 3 (addContact)_

![goit-NodeJS-hw-01](./src/images/hw-4.jpg)
_Caption for Screenshot 4 (removeContact)_

## Issues

If you encounter any issues or have suggestions, please [open an issue](https://github.com/Alexandrbig1/goit-NodeJS-hw-01/issues).

## License

This project is licensed under the [MIT License](LICENSE).

## Feedback

I welcome feedback and suggestions from users to improve the application's functionality and user experience.

## Languages and Tools:


JavaScript
nodejs
git

## Connect with me:



linkedin


github


Discord


stackoverflow


dribbble


behance


Upwork