Skip to content

HTTP API для учета библиотечного имущества

Notifications You must be signed in to change notification settings

CreakZ/eliborate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Введение

Eliborate - сервис по учёту библиотечного имущества

Описание

При помощи данного сервиса можно осуществлять создание, получение, обновление, и удаление информации о книгах, добавление книгам различных жанров (категорий, если говорить в терминологии сервиса), а так же осуществлять поиск информации о книге по её ISBN (поиск осуществляется в Google Books API, Livelib и Читай Городе).

Для разграничения доступа к сервису реализована JWT-аутентификация обычных пользователей (доступ уровня READ) и пользователей-администраторов (доступ уровня CREATE/READ/UPDATE/DELETE).

Запуск

Перед запуском создайте в директории configs файл .env и скопируйте в него содержимое файла .example.env. Заполните соответствующие поля файла с переменными окружения соответствующими значениями.

Для генерации подписи JWT-токенов можно использовать следующую команду (убедитесь, что у вас установлен node):

node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

Получить access и secret токены S3-хранилища можно в личном кабинете провайдера облачных услуг.

После заполнения .env файла из корня проекта выполните следующую команду:

docker compose -f deployments/compose.yaml --env-file configs/.env up --build -d

Документация

Документация представляет собой автоматически сгенерированную документацию в формате Swagger. При запуске сервиса страница с документацией доступна по эндпоинту /swagger/index.html

TODOs

  • Авторизация (обычные пользователи и админы)
  • Улучшение поиска по ISBN (среднее время выполнения запроса 900-1300 ms)
  • Улучшение логгирования
  • Контейнеризация, деплой
  • Полноценный полнотекстовый поиск

About

HTTP API для учета библиотечного имущества

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages