deshetti / janaganana

Home Page:http://countingindia.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

http://countingindia.com/

License:Other


Languages

Language:JavaScript 49.3%Language:HTML 26.0%Language:Python 19.0%Language:CSS 4.7%Language:Shell 0.9%Language:Dockerfile 0.2%