Giter Club home page Giter Club logo

crm-smsfly's Introduction

Stories in Ready Build Status Codacy Badge Requirements Status

crm-smsfly

Embedded integration of some CRM with SMS-Fly gateway via iframe.

Development

Prerequisites

  • If you use OS X or Windows, first install VirtualBox and vagrant and then install vargant-vagga plugin (vagrant plugin install vagrant-vagga). After that run vagrant up to populate VM image.
  • If you use GNU/Linux based OS, just install vagga
  • Populate .env file with environment variables, such as DEBUG, DATABASE_URL, CRM_DB_URL, SMSFLY_ID, SMSFLY_PASS, DJANGO_DEBUG_LOG, DJANGO_LOG_LEVEL
  • Install pre-commit with pip install pre-commit; pre-commit install in your environment to make sure your code conforms basic rules

Running the app

Navigate to repo root in your terminal and then run:

$ vagga run-cached

N.B. in case of non-linux installation, prepend that with vagrant.

Now you should be able to open the /app in browser

Production

Just check deploy/ folder and run corresponding playbook with ansible. Store environment variables in deploy/roles/smsapp/templates/smsapp.env first (see smsapp.env.example).

Notes

Please remember to pass crm_user_id GET param in order to identify current user of an external CRM.

crm-smsfly's People

Contributors

bluebirrrrd avatar webknjaz avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

yevs

crm-smsfly's Issues

Add webhooks for receiving data from SMS-Fly and CRM

  • http://sms.itarget.info/webhooks/onElectorBirthday/{elector_id}
  • http://sms.itarget.info/webhooks/onElectorAdded/{elector_id}
  • http://sms.itarget.info/webhooks/onElectorTouched/{elector_id}
  • http://sms.itarget.info/webhooks/onElectorStatusChanged/{elector_id}
POST /webhooks/onElectorBirthday/100500 HTTP/1.1
Host: sms.itarget.info
Content-Type: application/json
Cache-Control: no-cache
{
    "project_id": 201000
}
  • http://sms.itarget.info/webhooks/onSMSFlyStatus

https://lesschurn.io/docs/webhooks

Авторизация

Реализовать логику описанную в инструкции доступными методами

Add models needed to store sms sending progress

  • task
    • id
    • alphaname_id
    • title
    • code
    • start date
    • type (one-time, recurring, event-driven)
    • end_date
    • created_by_crm_user_id
    • triggered_by (onElectorBirthday, onElectorAdded, onElectorTouched (?), onElectorStatusChanged)
    • target_filter
    • state
  • campaign
    • id
    • task_id
    • code
    • datetime_sent
    • state
  • alphaname
    • id
    • name
    • status
  • message
    • id
    • crm_elector_id
    • phone_number
    • message_text
    • datetime_scheduled
    • datetime_sent
    • status
    • campaign_id

Продебажить отправку

1. Множественные фильтры
2. Связь адреса ПРОПИСКИ и округа
3. Снять ограничение на время запроса
4. Оптимизировать скорость построения списка получателей с нашей стороны
5. Три вида шаблонов в одной кнопке "создать шаблон", выбор типа происходит в фильтре

Enable Google Charts @ stats view

  • message statuses
  • total messages sent by date
  • total messages sent by date split by template
  • total funds spent by region
  • total funds spent by district
  • total funds spent by (WTF)
  • figure out click handling and dynamic chart loading

Generate po files for uk-ua locale

I've faced some issue during running ./manage.py makemessages -l uk under vagga dev env.

It's needed to figure out how to run that properly.

N.B. Don't forget to install gettext in your env first.

Add templates for app pages

  • main page (links to list of alphanames, campaign templates, sent messages, stats) — main.html
  • list of sent messages — sent-messages.html
  • list of alphanames — aplhanames-list.html
  • list of campaign templates — campaigns-list.html
  • template editor — campaign-edit.html
  • alphaname registering page — alphaname-new.html
  • selection of recipients (filters) — filters.html
  • datepicker for triggered events — datepicker-conditional.html
  • datepicker for sending recurring messages on selected dates — datepicker-recurring.html
  • datepicker for sending one-time campaign — datepicker-regular.html
  • navbar — navbar.html

Бета версия отправки СМС

Нужна возможность отправки СМС из всех трех шаблонов
Нужно чтобы все поля фильтра работали
Нужен список пользователей перед отправкой хотя бы в моментальной

Создание архивов

Согласно пунктов ТЗ: реестр созданных шаблонов рассылки и реестр отправленных сообщений. Шаблоны рассылки можно редактировать.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.