Skip to content

Интернет магазин на Django-шаблонах

License

Notifications You must be signed in to change notification settings

Reagent992/stamps

Repository files navigation

Проект интернет-магазина по изготовлению печатей и штампов на заказ

Описание

Картинка-Пример

  • Проект находится в разработке.

Зависимости

Основные зависимости

Библиотека Описание
python 3.10 Язык программирования Python версии
django 4 Фронт на Джанго-шаблонах
celery Очередь задач
rabbitmq Брокер для celery
flower Трекер для celery задач
django-view-breadcrumbs "Хлебные крошки", breadcrumbs для отображения "пути".
django-ckeditor 5 Редактор теста
python-slugify Транслитерация текста
Poetry Пакетный менеджер
Environs[django] Для хранения секретов в файле .env
django-json-widget Для удобного просмотра и редактирования JSONField
django-crispy-forms(c crispy_bootstrap5) Для Генерации форм
bootstrap 5 CSS
pillow images
sorl-thumbnail images thumbnails
django-ckeditor-5 Редактор текста для админки
django-dirtyfields Отслеживание изменений в объекте модели, до сохранения в БД
gunicorn wsgi-сервер
django-split-settings Позволяет разделять настройки на несколько файлов
sentry Отслеживание ошибок
HTMX Интерактивные элементы(пагинация по скролу вниз.)
django-htmx Middleware для работы с HTMX.
requests Для отправки уведомлений в Телеграм

dev зависимости

Библиотека Описание
pre-commit Автоматический запуск black, isort, flake8 при использование git commit
black, isort, flake8 Code Style
django-debug-toolbar Оверлей для разработки.
django-stubs[compatible-mypy] typehints
djlint Линтер для Django-шаблонов
selenium Функциональные тесты
Factory Boy Generate fake, test data
django-rich Colourized tests outputs

Запуск проекта

  • Везде используются сокращения dev и prod.
  • Используется стратегия "Merge Compose files". т.е. есть базовый compose.yml и он расширяется файлом compose.override.yml для dev и файлом compose.prod.yml для prod.
  • Переменные окружения завязанные на dev/prod уже прописаны.

dev

  1. Запуск: docker compose up - запустится сразу compose.yml и compose.override.yml который расширяет его до dev версии.
  2. Запуск djnago runserver и celery worker.
    Для этого есть короткие команды создаваемые poetry:
    • dwc (django with celery)
    • dr(django run)
    • cw(celery worker)
  3. Доступны management команды для создания фикстур:
    • python manage.py fixture - Для создания фикстур.
    • python manage.py delete - Для отчистки таблиц в которые были добавлены фикстуры.
  • Создается superuser с login: admin password: admin
    login и password берутся из environment variables в compose.override.yml, там их можно заменить.

prod

Запуск: docker compose -f compose.yml -f compose.prod.yml up - базовый файл и расширяющий его. Последовательность важна!

  • Celery работает в одном контейнере с Django, т.к. так проще, выносить ее в отдельный контейнер сейчас нету необходимости.

Автор

Sadykov Miron

Модель БД

Модель БД от руки Модель БД от руки Так же доступен оригинальный файл в excalidraw-формате.
Модель БД от pg_admin Модель БД от pg_admin

About

Интернет магазин на Django-шаблонах

Resources

License

Stars

Watchers

Forks