https://github.com/emmaisaac/ejercicio-backend-contacts
https://github.com/emmaisaac/ejercicio-backend-contacts
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/emmaisaac/ejercicio-backend-contacts
- Owner: EmmaIsaac
- Created: 2024-08-28T22:44:33.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-13T02:10:13.000Z (almost 2 years ago)
- Last Synced: 2025-06-09T01:03:20.508Z (about 1 year ago)
- Language: JavaScript
- Size: 2.93 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Consigna del Ejercicio
## Objetivo:
Desarrollar un sistema de gestión de contactos en Node.js que permita listar,
agregar, y eliminar contactos a través de la línea de comandos. Los contactos se
almacenarán en un archivo JSON y deben incluir información adicional como el número de
teléfono y la dirección de correo electrónico.
Requisitos:
### Estructura del objeto de contacto:
○ id: Identificador único (UUID).
○ nombre: Nombre completo del contacto (debe contener más de 4
caracteres).
○ telefono: Número de teléfono (debe ser solo numérico).
○ email: Dirección de correo electrónico (debe contener un arroba @).
○ favorito: Un campo booleano (true o false) que indica si el contacto es
favorito.
### Funcionalidades:
○ Listar contactos: Muestra todos los contactos almacenados en el archivo
JSON, con la opción de filtrar solo los contactos marcados como favoritos.
○ Agregar contacto: Permite agregar un nuevo contacto con todos los campos
mencionados, realizando las siguientes validaciones:
■ El nombre debe contener más de 4 caracteres.
■ El número de teléfono debe ser solo numérico.
■ El email debe contener un arroba (@).
○ Eliminar contacto: Permite eliminar un contacto por su id.
### Consideraciones:
○ Implementar validaciones para asegurarse de que el nombre, telefono, y
email cumplan con los requisitos antes de agregar un nuevo contacto.
○ El campo favorito debe ser opcional al agregar un contacto y, por defecto,
estar en false.
○ Al eliminar un contacto, debe mostrarse un mensaje de confirmación con el
nombre del contacto eliminado.
### Comandos:
○ node index.js list [favoritos]: Lista todos los contactos o solo los
favoritos si se proporciona el argumento favoritos.
○ node index.js add "Nombre del Contacto" "Telefono"
"Email" [favorito]: Agrega un nuevo contacto.
○ node index.js delete "ID_del_Contacto": Elimina un contacto por
su id.
Este ejercicio desafía a los alumnos a implementar un sistema similar al anterior, pero con
una estructura de datos más compleja y validaciones adicionales, lo que les permitirá
afianzar sus habilidades en la gestión y validación de datos en Node.js.
# ejercicio-backend-contacts