pari
pari copied to clipboard
Django/Wagtail based PARI webapp
People's Archive of Rural India
This repository contains the source code of the main website deployed for public consumption at ruralindiaonline.org
Developer Guide
Pre-requisites
Setup
Clone both pari and pari-ansible repositories (ideally in the same parent directory).
$ git clone https://github.com/PARINetwork/pari.git
$ git clone https://github.com/PARINetwork/pari-ansible.git
$ cd pari
$ vagrant up # You'll be prompted for SUDO password of your host machine for the first time.
Ansible 2.2.1
Make sure that you have installed Ansible 2.2.1. You can install Ansible 2.2.1 with the following command
$ pip install ansible==2.2.1
If, however, you have already installed some other version of Ansible you will need to uninstall it
$ sudo -H pip uninstall ansible
$ #OR
$ brew uninstall ansible # Only if you used homebrew to install ansible
$ pip install ansible==2.2.1
$ git checkout master
$ git pull
$ rm -rf pari_env (if present)
$ vagrant destroy ( Delete the old version of the box )
$ rm -rf .vagrant (Delete old vagrant cache)
$ vagrant up
Development-specific commands
The above set-up will get the vagrant box up. That is, it will start the virtual machine that pretends to be a remote server at "development.ruralindiaonline.org". The django development server also will be started and available at the same URL. You should see a working PARI installation at http://development.ruralindiaonline.org.
To work with your django environment, you will need to login via ssh into this pretend-remote virtual machine and follow the following steps for this.
$ vagrant ssh # Login to vagrant box
$ cd /vagrant && source ~/pari_env/bin/activate # Change to project directory and activate project virtualenv
$ python manage.py runserver # Local instance available at development.ruralindiaonline.org
Admin console can be accessed at http://development.ruralindiaonline.org/admin/ (username: admin, password: admin)
$ python manage.py shell # Access django shell
$ python manage.py dbshell # Access postgres DB. Password: pari
$ python manage.py test --keepdb # Run all the tests
$ deactivate # Exit from project virtualenv
Tech stack:
Python, Django, Wagtail, PostgreSQL, Nginx, Gunicorn, Supervisor, Elasticsearch, Bootstrap, jQuery
How to Contribute?
Sign up for stories
Choose any card in Ready for Dev lane from Github Projects and assign it to yourself. Move it to In Dev lane. Add Dev tasks to that story briefly so that others who want to understand the work being done can get a overview.
Use the Collaboration Channels to get any questions clarified.
In case of UI stories, follow UX Mockups instructions below.
Completion of stories
Once done, check if all the In Scope items are covered and make a commit with the issue number. Also move the issue to Ready For QA column.
##UX Mockups Download PARI mockup from following google drive link. Drive contains visual designs in three formats Images, PDF and Sketch files. Use Sketch application(Only for mac) to open .sketch files.
https://drive.google.com/drive/folders/0B4TMsel2baWuY1otS0hUM3NxQ2c?usp=sharing
Collaboration channels
To keep in tech with technical team and the pari team,you can use the google group. If you thought of contributing to PARI this is one of the media that you can use. In the case of doubts and queries you can use the group. And you can participate in the IPM's and showcase for the PARI project.
Roadmap of features
Goals
- Increase discoverability of Pari's content
- Increase interactions on social media
- Increase donations on the site
- Increasing content contributed by existing volunteers
- Sign up of new volunteers who contribute content
Roadmap
Realease 1 features |
---|
CI/CD setup |
Make Development OSS Friendly |
CMS - Data structure |
Information architecture of website |
Website UI revamp |
Setting the default style |
Optimising SEO for regional language translations for articles |
SEO for pari website |
Realease 2 features |
Articles |
Faces |
Resources |
Talking albums |
Videos |
Audios |
Albums (pics, talking pics) |
Maps |
One-offs |
Realease 3 features |
Language selection |
Translations |
Improve elastic search |
Improve search for specifc data on website |
Social Sharing |
Contributions |
PARI Analytics |
Editing articles for publishing |
Realease 4 features |
Editing articles for publishing |
CMS - Bulk upload |
CMS - Data language |
CMS - Editing |
Showcase grindmill content |
Manage Grindmill Content |
Copyright
Licensed under the 3-clause BSD License. Please refer to LICENSE.txt for details.