Skip to content

smisyuk4/goit-node-hw-REST-API

 
 

Repository files navigation

Routes auth

  • POST /users/register - створити користувача (обов`язково пароль та пошта, можна вказати план. За змовчуванням starter)
  • POST /users/login - увійти (обов`язково пароль та пошта). Отримаємо токен
  • POST /users/logout - вийти (обов`язково токен)
  • POST /users/current - поточний користувач (обов`язково токен)
  • PATCH /users/change - оновити інформацію користувача (обов`язково пароль, пошта, токен)
  • PATCH /users/avatars - оновити інформацію користувача (завантажити аватарку)
  • GET /users/verify/:verificationToken - відправляється токен верифікації пошти користувача
  • POST /users/verify - повторна відправка листа з верифікацією пошти (обов`язково пошта)

Routes contacts

  • GET /api/contacts/ - взяти всі контакти
  • GET /api/contacts/:contactId - взяти один контакт по ід
  • POST /api/contacts/ - створити контакт
  • PUT /api/contacts/:contactId - оновити інформацію контакта по ід
  • DELETE /api/contacts/:contactId - видалити контакт по ід
  • PATCH /api/contacts/:contactId/favorite - змінити статус контакта по ід

Pagination

  • GET /api/contacts?page=1&limit=5 - взяти 5 контактів (кількість за змовчуванням) на першій сторінці

Filter

  • GET /api/contacts/?favorite=false взяти контакти по полю favorite зі значенням false

CLI commands:

  • npm start — старт сервера в режимі production
  • npm run start:dev — старт сервера в режимі розробки (development)
  • npm run lint — запустити виконання перевірки коду з eslint, необхідно виконувати перед кожним PR та виправляти всі помилки лінтера
  • npm run lint:fix — та ж перевірка лінтера, але з автоматичними виправленнями простих помилок

Git commands:

  • git checkout -b hw02-express - створює нову гілку
  • git checkout hw02-express - перемикає на цю гілку
  • git push oririn hw02-express - відправляє локальні зміни на цю гілку
  • git branch -d hw02-express - видаляє цю гілку (треба знаходитись на головній)

Validation data:

Data base

Data base driver

JWT

Middleware for handling multipart/form-data

Generator avatar URLs

Editor images

Send email

Generator verification token

Template page html

Deploy

  • heroku - heroku.com
  • git push heroku master - відправити локальний код на heroku репозиторій
  • heroku config:set PORT=2000 - відправити змінну у heroku ремозиторій
  • heroku config - перевірити список змінних у heroku

Tests

  • jest - jestjs.io npm install --save-dev jest