Skip to content

KAnanev/djangoCRM

Repository files navigation

CRM Django

Мини CRM

CRM для регистрации и обработки входящих заявок от пользователей.

Бот для нотификации http://github.com/KAnanev/aiogram_token

Реализован следующий функционал:

  • Регистрация пользователей
  • Управление данными
  • Нотификация через TelegramBot
  • Админка для персонала

Не реализовано:

  • Функциональные и модульные тесты

Стек

CRM использует:

  • [Django] - Фреймворк разработки веб-приложений
  • [requests] - Python модуль отправки http-запросов

Установка

Для работы CRM требуется python-3.8 и выше.

На вашей локальной машине скачайте репозиторий, установите зависимости, установите миграции, установите тестовые данные и запустите сервер django.

cd djangoCRM
python -m pip install -r requirements.txt
python manage.py migrate
python manage.py loaddata db.json
python manage.py runserver

Демо данные

Суперпользователь: логин: 'superuser' пароль: 'superuser'

Тестовый пользователь: логин: 'test_user' пароль: 'user_test'

Тестовый сотрудник: логин: 'staff_user' пароль: 'user_staff'

Краткая документация

Регистрация пользователя

Перейдя по ссылке http://127.0.0.1:8000, неавторизованный пользователь попадает на страницу где может пройти регистрацию нажав на кнопку "Зарегистрироваться" или авторизоваться нажав на кнопку "Войти". Регистрация пользователя происходит путем ввода "username", "password" и подтверждение "password", для работы с сервисом пользователь не нуждается в активации. Во время регистрации пользователю присваивается уникальный токен, с помощью которого реализована авторизация для нотификации через Telegram bot.

Авторизация

Авторизация пользователя происходит путем ввода "username", "password" на странице: http://127.0.0.1:8000/accounts/login/, ссылка имеется с главной страницы.

Работа с сервисом

Пользователь

После авторизации на главной странице приложения реализованы четыре кнопки:

  1. Мои заявки Перейдя по ссылке пользователь может увидеть свои заявки и данные заявки, по ссылке перейти в заявку.
  2. Написать заявку Перейдя по ссылке пользователь увидит форму для составления заявки.
  3. Аккаунт Перейдя по ссылке пользователь увидит свой 'username' и кнопку "Включить телеграм оповещение"
  4. Выйти

Персонал

Статус персонала получает пользователь прошедший авторизацию, получивший статус сотрудника и добавленный в группу Персонал суперпользователем. Персонал может зайти в административную часть по ссылке http://127.0.0.1:8000/admin/, где он может посмотреть заявки и отредактировать их.

Как реализована нотификация через TelegramBot

При регистрации пользователю присваивается уникальный токен. При нажатии кнопки "Включить телеграм оповещение", в новом окне пользователю предлагается отправить сообщение боту с токеном. Бот получает сообщение и отправляет на сервер django id пользователя telegram, проверяет токен и добавляет id в поле модели пользователя. При изменении статуса заявки реализован сигнал django который отправляет сообщение пользователю по id используя api Telegram.

About

CRM на Django-framework

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published