Тестовое здадание для SmartWay

Web api загрузки, просмотра и скачивания файлов. Платформа .Net, язык C#.

Функционал:

  1. Пользователь может одним запросом загрузить группу файлов (1...N).
  2. Пользователь может посредством запроса узнать на сколько процентов загружен конкретный файл или группа файлов в целом.
  3. Пользователь может просмотреть список загруженных файлов или групп файлов.
  4. Пользователь может одним запросом скачать файл или группу файлов.
  5. Пользователь может сгенерировать одноразовую ссылку для файла или группы файлов.
  6. Пользователь может одним запросом скачать чужой файл или группу файлов с помощью предоставленной ему одноразовой ссылки.
  7. Использовать механизм миграций для формирования схемы БД.
  8. Описать механизм развёртывания приложения и СУБД, с помощью которого можно воспроизвести и проверить работу приложения.

П.С. Пользователь имеет доступ только к загруженным им файлам, если не указано обратное.

Начало работы

  1. Склонируйте репозторий.
  2. Предварительно должны быть установлены Docker и Docker Compose.
  3. Выполните команду, в корневом каталоге:
  docker-compose up

Работа с API

Приложение будет развернуто по адресу http://localhost:5001.

Для докумунтации используется Swagger. Ее можно найти по адресу http://localhost:5001/swagger/index.html.

Авторизация происходит по JWT токену. Для входа испоьзуте следующую схему: Bearer <token>