Веб-приложение для хранения и управления файлами, обеспечивающее пользователям удобный интерфейс для загрузки, организации и доступа к документам. Приложение включает функции безопасности, такие как аутентификация и шифрование данных, а также возможность совместного использования файлов с другими пользователями. Основной целью проекта является создание надежного и интуитивно понятного инструмента для эффективного управления цифровыми ресурсами.
Для запуска установки проекта необходимо скачать его в GitHub
$ git clone https://github.com/1001001010/FileStorage
Для установки и запуска проекта, необходим:
Для установки зависимостей, выполните команду:
$ npm i
Для установки необходимых пакетов, выполните команду:
$ composer i
Создать файл конфигурации с примера и отредактировать его
$ сopy .env.example .env
Создать ключ приложения
$ php artisan key:generate
Создать таблицы в БД
$ php artisan migrate
Создать 100 тестовых пользователей
$ php artisan db:seed
Для запуска приложения необходимо запустить 2 сервера командами:
$ php artisan serve
$ npm run dev
Проект покрыт Unit-тестами. Для их запуска выполните команду:
$ php artisan test
Приложение использует симметричное шифрование для обеспечения конфиденциальности файлов пользователей.
- Алгоритм шифрования:
AES-256-CBC
- Ключ шифрования: уникальный для каждого пользователя, хранится в базе данных в поле
users.encryption_key
в виде base64-строки длиной 44 символа - Вектор инициализации (IV): генерируется случайно при каждом шифровании (16 байт)
- Методы шифрования: реализованы с использованием
openssl_encrypt()
иopenssl_decrypt()
на стороне сервера (Laravel)