Архитектура
Бэкенд написан на nestjs. В качестве ORM для проекта был использован TypeORM. В качестве протокола обмена между приложением и бэкендом был выбран GraphQL.
Бэкенд хранит загружаемые пользователем файлы в s3 хранилище. Для этого был написан модуль s3. В планах, было использовать s3 хранилище у mail.ru, но есть возможность использовать любое s3 совместимое хранилище. Для тестового сервера и разработки, используется minio – s3 совместимое хранилище, поднятое в docker-контейнере.