Skip to content

Тестовое задание для Эникод

Notifications You must be signed in to change notification settings

ncioo/anycode-test

Repository files navigation

anycode-testovoe-zadanie

Проект представляет собой сервер, написанный на TypeScript с использованием следующих технологий:

  • Koa.js: Легкий и мощный фреймворк для создания веб-приложений и API на базе Node.js.
  • PostgreSQL: БД, используемая для хранения и управления данными.
  • jsonwebtoken (JWT): Библиотека для создания и верификации JSON Web Token (JWT), используемая для аутентификации. bcrypt: Библиотека для хеширования паролей и обеспечения их сравнения.

Как все работает

Структура проекта

Основные маршруты и маршруты аутентификации реализованы с использованием Koa.js и находятся в каталоге /api/routes/. Аутентификация выполняется с использованием библиотеки jsonwebtoken, а за шифровку и сопоставление паролей отвечает bcrypt. Для взаимодействия с базой данных используется библиотека pg (node-postgres), и это осуществляется без использования сторонних ORM-библиотек.

Функции

  • Регистрация новых пользователей.
  • Назначение ролей пользователям.
  • Возможность пользователям редактировать только свои данные.

Запуск

Установите зависимости с помощью npm install. Запустите сервер с помощью npm start.

Эндпоинты

  1. Регистрация нового пользователя
  • Метод: POST
  • Эндпоинт: /register
  • Тело запроса: { "name": "some_name", "email": "some_email", "password": "some_password" }
  1. Вход пользователя (Получение JWT-токена)
  • Метод: GET
  • Эндпоинт: /login
  • Тело запроса: {"email": "some_email","password": "some_password"}
  1. Получение списка пользователей
  • Метод: GET
  • Эндпоинт: /users
  1. Обновление данных пользователя
  • Метод: PUT
  • Эндпоинт: /users
  • Авторизация: Authorization: Bearer <JWT_TOKEN>
  • Тело запроса: {"id": "user_id", "name": "some_name", "email": "some_email"}
  1. Удаление пользователя
  • Метод: DELETE
  • Эндпоинт: /users
  • Авторизация: Authorization: Bearer <JWT_TOKEN>
  • Тело запроса: {"id": "user_id"}

About

Тестовое задание для Эникод

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published