OpenDisk - это веб-приложение для хранения и управления файлами, построенное на Django. Поддерживает вложенную структуру папок, загрузку и скачивание файлов, поиск и базовые операции с файловой системой.
- Убедитесь, что установлены Docker и Docker Compose.
- Склонируйте репозиторий:
git clone https://github.com/nonsess/open-disk.git cd open-disk - Создайте файл
.envна основе.env.exampleи укажите свои значения (если нужно). - Запустите приложение:
docker compose up --build
- Приложение будет доступно по адресу: http://localhost:8000
Тесты написаны с использованием стандартного фреймворка unittest и запускаются внутри контейнера:
# Запустить все тесты
docker-compose exec web python manage.py test
# Запустить тесты конкретного приложения
docker-compose exec web python manage.py test storage
docker-compose exec web python manage.py test accounts
# Запустить с подробным выводом
docker-compose exec web python manage.py test -v 2Для проверки покрытия кода тестами:
# Установите coverage (если ещё не установлено)
docker-compose exec web pip install coverage
# Запустите тесты с покрытием
docker-compose exec web coverage run --source='.' manage.py test
# Посмотрите отчёт
docker-compose exec web coverage report -maccounts: регистрация и аутентификация пользователейstorage: основная логика работы с файлами и папкамиconfig: настройки Djangotemplates: базовые шаблоны интерфейса
- Регистрация и вход в систему
- Создание, переименование и удаление папок
- Загрузка файлов с сохранением структуры каталогов
- Поиск файлов по имени
- Скачивание файлов
- Валидация имён файлов и папок
- Защита от несанкционированного доступа к чужим данным
- Пользователи могут работать только со своими файлами и папками
- Все операции с файлами проходят через авторизованные представления
- Имена файлов и папок валидируются на наличие недопустимых символов
- Пароли хранятся в зашифрованном виде
Проект распространяется под лицензией MIT.