/rosvybory

База наблюдателей

Primary LanguageRuby

РосВыборы / База наблюдателей

Задача РосВыборов - ввести в состав каждой ТИК/УИК максимально возможное количество своих наблюдателей в ролях ПСГ, наблюдатель и представитель СМИ, максимизировать время нахождения своих наблюдаталей на участках, обеспечить поддержку наблюдателей мобильными группами и контакт-центром.

РосВыборы вводит в состав комиссий своих наблюдателей, пользуясь в качестве источников выдвижения дружественными кандидатами, партиями и СМИ. Система РосВыборы позволяет собрать волонтёров, наделить их нужными ролями в наблюдательном процессе, равномерно распределить на участки, организовать мобильные группы и контакт-ценрты, и координировать работу всех участников на этапах подготовки и проведения выборов.

Подробности и постановки(реализовано не всё) можно посмотреть на wiki

##Описание

В проекте логически можно выделить следующие основные части:

  • Форма для создания заявок наблюдателей:

  • Сама форма, на DSL Formtastic'a, валидация через модель заявки

  • Результат заполнения формы - заявка, UserApp

  • Админка /control, позволяющая просматривать созданные заявки, искать среди них нужные с помощью фильтров, создавать на их основе записи о людях, и т.п, по ТЗ.

  • Реализация админки - на основе Active Admin

  • Разграничение доступа - через CanCan по ролям пользователей (UserRole)

  • Груповая рассылка писем и смс - через Resque и sms.ru

  • Импорт заявок из xls заявленного вида

  • Экспорт пользователей в xls

  • Колцентр

  • Форма фиксации обращения для оператора КЦ /call_center/reports/new

  • Список зафикцированных сообщений в админке /control/call_center_reports с возможностью модерации. Через redis и node.js реализована эксперементальная поддержка подгрузки сообщений в реальном времени.

  • Выгрузка нарушений в JSON-файл / загрузка данных на карту нарушений в реальном времени - через Resque

##Установка

Пример разворачивания на ubuntu есть в вики.

##Участие

  • Fork
  • Create a topic branch - git checkout -b feature-cool-stuff
  • Rebase your branch so that all your changes are reflected in one commit
  • Push to your branch - git push origin feature-cool-stuff
  • Create a Pull Request from your branch, include as much documentation as you can in the commit message/pull request, following these guidelines on writing a good commit message
  • That's it!

##Лицензия

The MIT License (MIT)

Copyright (c) 2013 ФБК

Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:

Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.

ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.