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