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/, ссылка имеется с главной страницы.
После авторизации на главной странице приложения реализованы четыре кнопки:
- Мои заявки Перейдя по ссылке пользователь может увидеть свои заявки и данные заявки, по ссылке перейти в заявку.
- Написать заявку Перейдя по ссылке пользователь увидит форму для составления заявки.
- Аккаунт Перейдя по ссылке пользователь увидит свой 'username' и кнопку "Включить телеграм оповещение"
- Выйти
Статус персонала получает пользователь прошедший авторизацию, получивший статус сотрудника и добавленный в группу Персонал суперпользователем. Персонал может зайти в административную часть по ссылке http://127.0.0.1:8000/admin/, где он может посмотреть заявки и отредактировать их.
При регистрации пользователю присваивается уникальный токен. При нажатии кнопки "Включить телеграм оповещение", в новом окне пользователю предлагается отправить сообщение боту с токеном. Бот получает сообщение и отправляет на сервер django id пользователя telegram, проверяет токен и добавляет id в поле модели пользователя. При изменении статуса заявки реализован сигнал django который отправляет сообщение пользователю по id используя api Telegram.