Skip to content

ShevchenkoOl/Node.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Node.js

Task 1

У цьому проєкті реалізовано CLI для роботи з контактами.Це простий Node.js CLI-додаток для керування контактами, які зберігаються у файлі contacts.json.
У файлі contacts.js реалізовані асинхронні функції для роботи з колекцією:

  • listContacts — повертає весь список контактів;
  • getContactById — шукає контакт за id;
  • addContact — додає новий контакт до файлу;
  • removeContact — видаляє контакт за id.
    Файл app.js відповідає за інтерфейс командного рядка. За допомогою пакета commander він зчитує аргументи, передає їх у функцію invokeAction, яка викликає потрібний метод з contacts.js, та виводить результат у консоль.

Task 2

У цьому проєкті реалізовано REST API для роботи з колекцією контактів, що зберігаються у JSON-файлі.

📂 Структура проєкту

  • bd/contacts.json — база даних контактів у вигляді JSON-файлу.
  • controllers/contactControllers.js — контролери, що обробляють запити REST API і викликають відповідні сервіси.
  • services/contactServices.js — функції для роботи з даними (читання, додавання, оновлення, видалення контактів у JSON).
  • schemas/contactSchemas.js — схеми валідації даних за допомогою пакету Joi для POST та PUT запитів.
  • routes/contactRoutes.js — маршрути API, що пов’язують HTTP-запити з контролерами.
  • helpers/ValidateBody.js — middleware для валідації тіла запиту перед контролером.
  • helpers/HttpError.js — утиліта для роботи з помилками.
  • app.js — основний файл запуску сервера.
  • package.json — файл з описом проєкту, залежностями і скриптами запуску.

🔹 Основні можливості API

  • GET /api/contacts — отримати список усіх контактів.
  • GET /api/contacts/:id — отримати контакт за id.
  • POST /api/contacts — додати новий контакт з валідацією обов’язкових полів:
    • name
    • email
    • phone
  • PUT /api/contacts/:id — оновити контакт частково з перевіркою на наявність хоча б одного поля.
  • DELETE /api/contacts/:id — видалити контакт за id.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors