Веб-приложение для управления клиентами, построенное на Django с использованием PostgreSQL, Celery и Redis. Предоставляет функциональность для отслеживания клиентов, управления продуктами, контрактами и пользователями с различными ролями и правами доступа.
- 👥 Управление клиентами: создание, редактирование, фильтрация по статусам (потенциальный, активный, бывший)
- 📦 Управление продуктами: добавление, редактирование, удаление товаров и услуг
- 📄 Управление контрактами: создание и отслеживание договоров с клиентами
- 🔐 Система ролей и прав доступа: администратор, оператор, менеджер, маркетолог
- 📊 Панель администратора с аналитикой и статистикой
- 🕒 Асинхронные задачи с использованием Celery и Redis
- 🐳 Развёртывание с использованием Docker Compose
- Python 3.10+
- Django
- PostgreSQL
- Celery
- Redis
- Docker & Docker Compose
-
Клонируйте репозиторий:
git clone https://github.com/artem-sitd/CRM.git cd CRM -
Настройте виртуальное окружение:
python3 -m venv crm_venv source crm_venv/bin/activate -
Установите зависимости:
pip install -r requirements.txt
-
Настройте переменные окружения:
Переименуйте файл
.env.templateв.envи заполните необходимые переменные. -
Примените миграции:
python manage.py makemigrations python manage.py migrate
-
Создайте группы пользователей и назначьте права:
python manage.py create_groups
Будут созданы следующие группы и пользователи:
- Администратор:
crm_admin1/ пароль:123 - Оператор:
operator/ пароль:123 - Менеджер:
manager/ пароль:123 - Маркетолог:
marketer/ пароль:123
- Администратор:
├── clients/ # Управление клиентами
├── products/ # Управление продуктами
├── contracts/ # Управление контрактами
├── users/ # Управление пользователями и ролями
├── crm_django/ # Конфигурация проекта Django
├── frontend/ # Шаблоны и статические файлы
├── .env.template # Шаблон переменных окружения
├── requirements.txt # Зависимости проекта
├── manage.py # Точка входа в приложение
└── README.md # Документация проекта
- Клиенты: Объединены потенциальные и активные клиенты в одну сущность
Clientс различными статусами (POTENTIAL,ACTIVE,INACTIVE). - Роли и права: Используется встроенная система групп и разрешений Django для управления доступом.
- Асинхронные задачи: Celery используется для обработки фоновых задач, таких как отправка уведомлений.