Skip to content

ershovdev/napopravku

Repository files navigation

Simple cloud data storage application

Test task (cloud data storage, any php/js fraweworks) for Napopravku company.

Give it a try: cloud.ershv.com


Стэк

Использовался Laravel, без JS-фреймворков + Bootstrap.

Возможности

  1. Авторизация
  2. Создание/удаление папок и подпапок
  3. Загрузка/переименование/удаление файлов в папках и подпапках
    • Загрузка файлов: изображения, GIF, pdf, docx, txt, zip.
    • Переименование и создание файлов: автоматическое разрешение конфликтов
  4. Персональная страница для каждого файла - информация, быстрый просмотр, скачивание
    • Быстрый просмотр: pdf, docx, mp4, txt, картинки - все просматривается прямо на сайте
  5. Изменение видимости файла (генерация публичной ссылки)
    • Файл можно сделать как публичным, так и наоборот, при этом ссылка каждый раз генерируется новая
    • Возможность без регистрации смотреть и скачивать публичные файлы.

Безопасность

Авторизация и валидация

Присутствует авторизация. Права клиента проверяются в каждом запросе, и в случае неудачной проверки - 403 ответ.

Файловая структура

У каждого клиента свое выделенное хранилище. Каждой папке и каждому файлу при создании присваивается уникальный ID. Клиенты не могут видеть папки и файлы друг друга (кроме случаев, когда файл открыт публично).

Файлы лежат внутри приложения, доступа из public к ним нет. Под раздачу приватных файлов создан отдельный роут.

Публичные файлы

При генерации публичной ссылки каждый раз используется уникальный публичный ID - приватный уникальный ID всегда остается виден только владельцу.

Типы файлов

Допустимые типы загружаемых файлов строго ограничены (разрешены основные и ТОЧНО безопасные), при этом в любой момент нетрудно добавить новый допустимый тип расширения.

About

Simple cloud data storage application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published