Skip to content
This repository was archived by the owner on May 9, 2026. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Опис

Цей проєкт є прикладом реалізації безпечного API на Node.js з використанням фреймворку Express. Він не зберігає жодних змін після закінчення роботи, оскільки використовує резидентну БД (IMDB), стандартні значення якої завантажуються під час кожного запуску.

Застосунок приймає HTTP-запити, звітує про події в консоль і виконує CRUD-операції з документами. Найголовніша його особливість --- це необхідність автентифікації для доступу до ресурсів і розмежування привілеїв звичайного користувача та адміністратора. Це надає безпеку та збереження конфіденційності даних.

Установлення та запуск

  1. Склонуйте репозиторій і перейдіть до теки проєкту:
git clone https://github.com/Rulfam/secure-api-lab.git && cd secure-api-lab/
  1. Установіть залежності:
npm install
  1. Запустіть сервер:
npm start

Запуск тестового клієнта

  1. Коли сервер запущено, відкрийте новий термінал у теці проєкту.
  2. Запустіть тестовий клієнт:
npm test

Реалізовані ендпоінти

Для доступу необхідно надати наступні заголовки:

  • X-Login --- Логін зареєстрованого користувача.
  • X-Password --- Пароль зареєстрованого користувача.
Метод і URL Опис Обов'язкові заголовки Приклад тіла запиту Можливі коди відповіді
GET /documents Отримання списку всіх документів X-Login, X-Password --- 200 OK, 401 Unauthorized
POST /documents Створення нового документу X-Login, X-Password { "title": "Мій документ", "content": "..." } 201 Created, 400 Bad Request, 401 Unauthorized
DELETE /documents/:id Видалення документу за наданим ID X-Login, X-Password --- 204 No Content, 401 Unauthorized, 404 Not Found
GET /employees Отримання списку всіх працівників (вимагає роль адміністратора) X-Login, X-Password --- 200 OK, 401 Unauthorized

Публічний репозиторій

Публічний репозиторій доступний за цим посиланням.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages