JavaScript HTML Python CSS Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commitโ€ฆ
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
janaganana
scripts
sql
.buildpacks
.env_example
.gitignore
CHECKS
Dockerfile
LICENSE
Procfile
README.md
check_db.py
db_install.sh
docker-compose.yml
fabfile.py
guni_config.py
manage.py
requirements.txt
runtime.txt
supervisord.conf

README.md

Janaganana(CountingIndia ๐Ÿ˜)

Janaganana(http://countingindia.com/) is a Django application for exploring census and other similar data. It makes it easy to understand a place through the eyes of the data, and to explore data across a range of places. It is most suited for census data but can easily be used with other data that is similarly focused on places in a country.

The Indian instance of Wazimap. Wazimap is a fork of the excellent Censusreporter (https://censusreporter.org) project which was funded by a Knight News Challenge grant (http://www.niemanlab.org/2012/10/knight-funding-expands-ires-journalist-friendly-census-site/). You can also find Censusreporter on GitHub (https://github.com/censusreporter/censusreporter).

Technology(Tools)

  1. Django Web Framework(1.9)
  2. memcache(Caching the results for a week).
  3. supervisor
  4. fabric
  5. Deployed on AWS(ubuntu) with RDS(Postgres)
  6. Pandas- Extensively used to clean and transform the data.All jupyter IPython Notebooks can be found here(https://github.com/mthipparthi/janaganana-data)

CI On Docker(Yes CI is on Docker ๐Ÿ˜„) ( ๐ŸŒŸ ๐ŸŒŸ ๐ŸŒŸ ๐ŸŒŸ)

  1. Follwoing instuctions to install Docker - https://docs.docker.com/install/
  2. Start docker daemon if not running
  3. docker-compose build
  4. docker network create ci-net
  5. docker-compose up
  6. find ip address of docker machine if http://localhost:8000/ not working (docker-machine ip default) and use that ip - http://192.168.99.100:8000/
  7. Application is up :)

Local development

  1. clone the repo : git clone https://github.com/mthipparthi/janaganana.git
  2. cd janaganana
  3. virtualenv env
  4. source env/bin/activate
  5. pip install -r requirements.txt

You will need a Postgres database:

createuser -P factlyin
createdb -O factlyin factlyin

psql -U postgres
grant all privileges on database factlyin to factlyin;

Run migrations to keep Django happy:

python manage.py migrate

Import the data into the new database (will overwrite some tables created by Django, but that's ok).

cat sql/*.sql | psql -U factlyin -W factlyin

Start the server:

python manage.py runserver

License

Janaganana code is licensed under the MIT License.