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