Skip to content

gvoz-dev/librarium

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

librarium

Бэкенд веб-приложения, посвящённого литературе.
Сервис предоставляет информацию о книгах, позволяет вести личную библиотеку пользователя, обсуждать книги в комментариях, писать приватные комментарии для заметок или цитат, ставить оценки книгам и вести учёт прочитанного.

Приложение разрабатывается на языке Scala 3.
При разработке используется стек, основанный на системе эффектов ZIO и её экосистеме: ZIO HTTP, ZIO Quill, ZIO Config, ZIO Logging, ZIO JSON, ZIO Schema и ZIO Test.
В качестве СУБД используется PostgreSQL.
Миграции базы данных выполняются с помощью Flyway.

Сборка и запуск

Для создания Docker-образа приложения необходимо выполнить следующую команду:

sbt Docker/publishLocal

Далее для запуска приложения (вместе с контейнером базы данных) нужно выполнить следующую команду:

docker compose up

Функциональные требования MVP

  • Реализовать API для аутентификации пользователей сервиса.
  • Реализовать API для регистрации пользователей и управления ими.
  • Реализовать API для управления книгами: получение списка книг, получение сведений об отдельной книге, создание, изменение и удаление книги.
  • Реализовать API для управления личной библиотекой пользователя: получение книг из библиотеки пользователя, добавление и удаление книг в/из неё.
  • Реализовать API для получения, создания, изменения и удаления комментариев к книгам.
  • Реализовать API для управления оценками (рейтингами) книг.
  • Реализовать API для управления прогрессом чтения книг.
  • Реализовать API для управления авторами произведений.
  • Реализовать API для управления издателями книг.

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

  • Автоматически генерируемый Swagger UI.
  • Перечень команд cURL.

После MVP

  • Добавить поддержку S3 для хранения книжных обложек и другого статического контента.
  • Добавить пагинацию и возможность сортировки данных.
  • Расширить возможности поиска информации.
  • ...

About

Backend Scala App

Topics

Resources

Stars

Watchers

Forks

Languages