У пользователя есть личный кабинет, где он может отслеживать свои заказы. В каждом заказе прикрепляются файлы либо пользователем либо администратором из админ панели. Для работы с файлами было принято решение использовать гугл диск. Файл сохраняется не на сервере, а на гугл диске. И скачать и открыть его можно.
Менеджер при работе с заказом через админ панель загружает файлы, которые сохраняются на гугл диске. Пользователь видит их у себя в личном кабинете и может скачать и просмотреть. Также пользователь может тоже загрузить файлы, которые от него требуются, и менеджер их увидит.
Гугл диск используется только программно. Все работают с файлами только через визуальный интерфейс на сайте. Также гугл диск сохраняет эти файлы приватными, которые нельзя открыть по ссылке, но определенный пользователь может его скачать.
В рамках этой задачи было сделано:
- спроектированы таблицы базы данных для связи файлов с пользователями
- сделаны методы на скачивание, просмотр, добавление и удаление файлов
- настроена авторизация для работы с файлами
- сделаны интерфейсы для пользователя и админа
Вместо гугл диска можно использовать любое другое хранилище. Все они работают примерно одинаково. Поэтому мы можем создать что-то похожее на вашем проекте :)