Веб-приложение для хранения и управления файлами, обеспечивающее пользователям удобный интерфейс для загрузки, организации и доступа к документам. Приложение включает функции безопасности, такие как аутентификация и шифрование данных, а также возможность совместного использования файлов с другими пользователями. Основной целью проекта является создание надежного и интуитивно понятного инструмента для эффективного управления цифровыми ресурсами.
Для запуска установки проекта необходимо скачать его в 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)