Volunteer & Campaign Management System

Overview

Cleansweep

Build Status Slack

Requirements

A Linux (or Mac OS X) node with the following software installed. Ubuntu 14.04 is preferred.

  • PostgreSQL 9.3 database server
  • Python 2.7
  • Git
  • python virtualenv

Installing them on Ubuntu/Debian:

$ sudo apt-get install postgresql-9.3 postgresql-server-dev-9.3 python-dev python-virtualenv git

How to Setup

  • Clone the repository

      $ git clone https://github.com/AamAadmiParty/cleansweep.git
      $ cd cleansweep
    
  • setup virtualenv

      $ virtualenv . 
    
  • activate the virtualenv

      $ source bin/activate
    
  • Install dependent python packages

      $ pip install -r requirements.txt
    
  • Create database user

      $ sudo -u postgres createuser -s $USER
    
  • create database for cleansweep

      $ createdb cleansweep 
    
  • Init the app by adding you as admin. It'll prompt you for your name, email and phone number.

      $ python manage.py init
      ...
      Your Name: ______
      E-mail address: ______
      Phone: ______
    
  • run the webapp

      python manage.py runserver
    

Visit the website at: http://localhost:5000/

Getting Started with Development

Look at the helloworld module to learn about how to a component works in cleansweep.

LICENSE

This software is licensed under AGPLv3.

Comments
  • Ability to add volunteers without linking to a booth

    Ability to add volunteers without linking to a booth

    We may have to add volunteers without know their exact booth.

    This is tricky because it can potentially make the volunteer data incomplete and unusable.

    Need more thoughts on this.

    opened by anandology 8
  • Add volunteer at zone level

    Add volunteer at zone level

    Right now you can't add a volunteer above AC using the add volunteer form. I'm assuming this is because of security reasons?

    Anyway, Punjab team wants to add volunteers at Zone level. So yeah.

    /discuss

    opened by raghavio 5
  • Have different configuration files for production, dev and test

    Have different configuration files for production, dev and test

    The production, dev and test should use production_settings.py, dev_settings.py and test_settings.py respectively.

    Related to Development Improvements #104.

    In-Progress 
    opened by anandology 5
  • Improve the committee-structure URLs

    Improve the committee-structure URLs

    The committee-structure URLs looks a big ugly right now.

    .../committee-structures/PX.pollingcenter-committee
    

    Right now there is unique constraint on committe-slug and place-type and that is causing URLs like that. This is also making downloading members of all committees with same type cumbersome.

    We need to change the unique constraint to have just committee-slug (of course with place_id).

    Once that is done, the committee-structure URLs need to be fixed. They should have just the slug without the place-type (like committee-structures/pollingcenter-committee).

    Ready For Developmemt 
    opened by anandology 5
  • Ability to download committees

    Ability to download committees

    Provide ability to download members of all committees at once.

    It should have the following columns.

    • Committee name
    • Role
    • Member Name
    • Member Email
    • Member Phone

    Open Questions:

    Will there be interest to download all members of all committees at once? There are three possible options.

    • Download all members of all committees at all levels
    • Download all members of all committees at one level (say download all committee members at ward level)
    • Download all members of all committees at with given name/slug (say download all members of "Ward Action Committee" of all wards in Delhi)

    Which one shall we implement?

    @charanjeetaap please add your inputs

    opened by anandology 5
  • Ability to access voter details from voterid

    Ability to access voter details from voterid

    We need to build a small webapp that provides A JSON response given state and voterid.

    We need to a small library that provides voter info given state and voterid.

    There is a website by election commission of India that provides this, but the response needs some massaging.

    http://electoralsearch.in/

    We need to get the assembly constituency and polling both. It given the polling booth number, but given only the assembly constituency name.

    We need a small webapp that talks to that website, formats the data as need and cache the response in the db so that we don't hit the electoralsearch website very often.

    It will be useful to cache the response in the database to avoid hitting the election commission website again and again.

    High-Priority Low-hanging 
    opened by anandology 5
  • Improve door2door listing

    Improve door2door listing

    Improve the door2door listing as described below.

    • Add a column with label When to show the timestmap. Make it the first column. It should show time as "2 minutes ago", "1 day ago" etc for recent entries.
    • Make the timestamp a link to door2door/entries/ to show the full details about that record. Including all the info in the details field.
    • Remove the delete button on entries page and move it to the entry page.
    opened by anandology 4
  • Google+ Profile Image is displayed on login in with Google Sign in

    Google+ Profile Image is displayed on login in with Google Sign in

    Made Changes in

    1. notifications.py : Imported urllib2 and json library. Add Google profile image url in session db
    2. volunteercard.html : Displayed the image of Google+ profile.
    opened by er-anup 4
  • Door2door form

    Door2door form

    @charanjeetaap had an urgent requirement for a door2door form.

    Created a

    • Table
    • Form (Head of the family, Phone number, Number of voters in family and Pooling booth)
    • Plugin

    Screenshots screen shot 2016-01-15 at 05 20 39

    screen shot 2016-01-15 at 05 19 25

    opened by raghavio 4
  • Organize committee structures by level

    Organize committee structures by level

    Right now the Admin Center > Committee Structures page provides the list of all committee structures on that page it self. It would be nice to group them by the level. Something like this:

    /admin/committee-structures page
    
    State Level (1)
    District Level (1)
    AC Level (2)
    Ward Level (1)
    Polling Booth level (1)
    

    The number in the brackets indicates the number of committee structures defined for that level.

    Clicking on level link should take to /admin/committee-structures/ page, where level will be one of state, dt, ac, ward, px or pb. On that page it should show only the committee structures defined at that level.

    Also, the add committee structure link should be moved to the level page. The changes required on add committee structure will be implemented as part of a separate issue.

    opened by anandology 4
  • Ability to select multiple permissions for a committee role

    Ability to select multiple permissions for a committee role

    We need to implement an ability to select multiple permissions for a role in a committee.

    Bootstrap chosen seems like a good UI component to use. http://jquery-plugins.net/bootstrap-chosen-alternate-stylesheet-for-chosen-with-bootstrap

    Ready For Developmemt Mockup Ready 
    opened by anandology 4
  • docs: Fix simple typo, properites -> properties

    docs: Fix simple typo, properites -> properties

    There is a small typo in cleansweep/static/handsontable/jquery.handsontable.full.js, cleansweep/static/handsontable/jquery.handsontable.js.

    Should read properties rather than properites.

    opened by timgates42 0
  • Simplify voterid lookup in add volunteer and signup

    Simplify voterid lookup in add volunteer and signup

    There are multiple apps for doing voter lookup and some of them have fallen out of sync. We need to standardize one and continue to maintain it. Also we need to change the application code to support only one voter lookup app.

    There are currently 3 apps used at various places for voterid lookup.

    • voterdb
    • votersearch
    • voter-lookup

    voterdb maintains the entire database of voters including name, rel name etc. votersearch takes district number and voterid and searches the CEO website directly. This doesn't work for Delhi as the form is behind a captcha. voter-lookup maintains mapping from voterid to state, ac and pb for all voterids.

    My suggestion is go with voter-lookup.

    opened by anandology 0
  • Add Account Settings Page

    Add Account Settings Page

    Add account settings page, showing name, email, phone number. Eventually we need the ability to edit all of them, but email and phone number requires validation before updating. So, just add the ability to edit the name and show phone number and email as read-only.

    Open Issues:

    • Would it be better to have that profile page, with option to edit the profile? That way we can even let the admins edit profiles of users.
    opened by anandology 4
  • Ability to export/import admin settings

    Ability to export/import admin settings

    We want an ability to export and import admin settings.

    When exporting, it should ask what all items to export, with a checkbox before each. something like:

    [ ] committee structures
    [ ] divisions
    [ ] permission groups
    

    and export that as a JSON file.

    When importing it should show a similar checkboxes and import the selected ones.

    opened by anandology 1
Owner
Aam Aadmi Party
Aam Aadmi Party IT team's collaborative efforts
Aam Aadmi Party
The Modern Hash Identification System

?? Don't know what type of hash it is? Name That Hash will name that hash type! ?? Identify MD5, SHA256 and 3000+ other hashes ☄ Comes with a neat web app ??

null 1.2k Dec 28, 2022
:closed_lock_with_key: multi factor authentication system (2FA, MFA, OTP Server)

privacyIDEA privacyIDEA is an open solution for strong two-factor authentication like OTP tokens, SMS, smartphones or SSH keys. Using privacyIDEA you

null 1.3k Jan 3, 2023
A honey token manager and alert system for AWS.

SpaceSiren SpaceSiren is a honey token manager and alert system for AWS. With this fully serverless application, you can create and manage honey token

null 287 Nov 9, 2022
Docker Compose based system for running remote browsers (including Flash and Java support) connected to web archives

pywb Remote Browsers This repository provides a simple configuration for deploying any pywb with remote browsers provided by OWT/Shepherd Remote Brows

Webrecorder 10 Jul 28, 2022
Backdoor is a term that refers to the access of the software or hardware of a computer system without being detected.

This program is an non-object oriented opensource, hidden and undetectable backdoor/reverse shell/RAT for Windows made in Python 3 which contains many features such as multi-client support and cross-platform server.

null 35 Apr 17, 2022
Fetch Chrome, Firefox, WiFi password and system info

DISCLAIMER : OUR TOOLS ARE FOR EDUCATIONAL PURPOSES ONLY. DON'T USE THEM FOR ILLEGAL ACTIVITIES. YOU ARE THE ONLY RESPONSABLE FOR YOUR ACTIONS! OUR TO

Genos 59 Nov 17, 2022
We protect the privacy of the data on your computer by using the camera of your Debian based Pardus operating system. 🕵️

Pardus Lookout We protect the privacy of the data on your computer by using the camera of your Debian based Pardus operating system. The application i

Ahmet Furkan DEMIR 19 Nov 18, 2022
Security System using OpenCV

Security-System Security System using OpenCV Files in this Repository: email_send.py - This file contains python code to send an email when something

Mehul Patwari 1 Oct 28, 2021
A dynamic multi-STL, multi-process OpenSCAD build system with autoplating support

scad-build This is a multi-STL OpenSCAD build system based around GNU make. It supports dynamic build targets, intelligent previews with user-defined

Jordan Mulcahey 1 Dec 21, 2021
Pass2Pwn: a simple python3 tool created to assist penetration testers generate possible passwords for a targeted system based solely on the organization's name

Pass2Pwn is a simple python3 tool created to assist penetration testers generate possible passwords for a targeted system based solely on the organization's name

Nirmal Dahal 10 Oct 15, 2022
Using python 3 and Flask an MVC system where the AES 128 CBC and Trivium algorithms

This project was developed using python 3 and Flask, it is an MVC system where the AES 128 CBC and Trivium algorithms can be tested through a communication between the computer and a device such as a microcontroller that provides these algorithms.

Brandon Israel Camacho Reyes 1 Dec 26, 2021
Android Malware (Analysis | Scoring) System

An Obfuscation-Neglect Android Malware Scoring System Quark-Engine is also bundled with Kali Linux, BlackArch. A trust-worthy, practical tool that's r

Quark-Engine 1k Jan 4, 2023
PrivateRoom - Make your work private by building a system using arduino which instantly kills a program when someone enters your room/cabin

privateRoom Make your work private by building a system using arduino which instantly kills a program when someone enters your room/cabin STEPS: Uploa

Divyanshu Kumar 3 Nov 8, 2022
A security system to warn you when people enter your room 🎥

Get Out My Room v0.1 I hate people coming in my room when i'm not there. Get Out My Room is a simple security system that sends notifications with vid

ScriptLine 1 Jan 11, 2022
This repository detects a system vulnerable to CVE-2022-21907 and protects against this vulnerability if desired

This repository detects a system vulnerable to CVE-2022-21907 and protects against this vulnerability if desired

null 26 Dec 26, 2022
Security system to prevent Shoulder Surfing Attacks

Surf_Sec Security system to prevent Shoulder Surfing Attacks. REQUIREMENTS: Python 3.6+ XAMPP INSTALLED METHOD TO CONFIGURE PROJECT: Clone the repo to

Aman Anand 1 Jan 27, 2022
Having a weak password is not good for a system that demands high confidentiality and security of user credentials

Having a weak password is not good for a system that demands high confidentiality and security of user credentials. It turns out that people find it difficult to make up a strong password that is strong enough to prevent unauthorized users from memorizing it.

PyLaboratory 0 Feb 7, 2022
A Python script that can be used to check if a SAP system is affected by CVE-2022-22536

Vulnerability assessment for CVE-2022-22536 This repository contains a Python script that can be used to check if a SAP system is affected by CVE-2022

Onapsis Inc. 42 Dec 1, 2022
Python DNS Lookup: The Domain Name System (DNS) is basically the phonebook of the Internet

-Python-DNS-Lookup- ✨ ?? Python DNS Lookup ✨ ?? The Domain Name System (DNS) is

Ronnie Atuhaire 2 Feb 14, 2022