Пример сайта можете увидеть по ссылке
- Хранить изображения разных пользователей
- Пользователи могут тегать свои изображения
- Искать изображения по тегу или набору тегов
- Похожие изображения выводятся на основе расстояния Хэмминга между хешами
- Теги группируются по категориям задаваемым администратором
- Получать информацию из EXIF о месте и параметрах съемки
- Использовать апи полностью покрывающее возможности сайтовой версии органайзера
- Пользователи могут комментировать изображения.
- Добавлены файлы настроек докера для запуска сервера django, nginx и postgreSQL
- Добавлены файлы CI/CD для github actions и gitlab с автоматическим запуском проекта на сервере в docker контейнере.
В планах:
- Улучшение покрытия кода тестами
- Тесты для API
Для более подробного описания возможностей проекта смотрите patch_note.md
Python, Django 4.2, DRF 3.14, pytest, Gunicorn, sorl-thumbnail, django-filter, exif, ImageHash, drf-spectacular.
Проект специально загружен на GitHub с изображениями и базой данных sqlite для облегчения демонстрации
Для работы проекта необходимо создать файл .env
в директории play_with_image
в котором задается переменные окружения в качестве шаблона используйте .env.template
В директории с проектом
docker compose up
В директории с проектом
- Создание виртуального окружения:
python -m venv venv
- Активация виртуального окружения:
source venv\Scripts\activate
Если возникла ошибка 'Имя "source" не распознано' или аналогичная:
venv\Scripts\activate
- Установка зависимостей:
pip install -r requirements.txt
- Запуск отладочного сервера:
cd play_with_image
python manage.py runserver