A mobile web app to support the outreach work of the PhillyRising collaborative.
These will keep your python code isolated from the rest of your machine and ensure you have the correct versions.
easy_install pip
pip install virtualenv
You may need to use sudo
to install these tools.
sudo easy_install pip
sudo pip install virtualenv
git clone https://github.com/openplans/myphillyrising.git
Do this inside of the repository folder, and install the project requirements.
virtualenv env
source env/bin/activate
pip install -r requirements.txt --use-mirrors
Check out this installation guide for help
Create a new database named myphillyrising
. You can use createdb
or your
favorite IDE to do this.
cp ./website/myphillyrising/local_settings.py.template ./website/myphillyrising/local_settings.py
Update the database setting to allow the application to connect to your database. It should just be the username and password.
Set the Twitter, Facebook, and DISQUS keys. These can be junk values if you don't need to login or test comments right away.
./website/manage.py syncdb
./website/manage.py migrate
Bower is a package manager for JavaScript assets and Grunt is a build tool.
npm install -g bower grunt-cli
Do the bower and grunt installs in both the myphillyrising
and alexander
folders:
cd website/myphillyrising
npm install
bower install
grunt
cd ../alexander
npm install
bower install
grunt
cd ../..
./website/manage.py loaddata ./website/alexander/fixtures/neighborhood_tags.json
./website/manage.py runserver # Run this in one terminal
./website/manage.py celeryd # Run this in another terminal
Browse to http://localhost:8000/admin
and add a feed or two. Click the Refresh button next to each feed to import the data. Give it a minute (you should see database activity scrolling by in your celeryd
terminal as the content items are loading).
To automate the installation process you can use Vagrant to setup an Ubuntu 12.04 VM to run the database and app within. Install Vagrant then:
git clone https://github.com/openplans/myphillyrising.git
vagrant up
This will do almost all of the installation work above for you. When the VM has finished initializing:
vagrant ssh
Then finish setting up the database:
cd /vagrant # all of the code is located here - it's just a "synced folder" to your local repo
./website/manage.py syncdb # Create a new Django superuser when prompt
./website/manage.py migrate
./website/manage.py loaddata ./website/alexander/fixtures/neighborhood_tags.json
Now you're ready to start the servers. Tmux is installed so that you can both of these servers within one shell or you could open a new shell and vagrant ssh
into it:
./website/manage.py runserver [::]:8000 # Run this in one terminal (slight change from above)
./website/manage.py celeryd # Run this in another terminal`
The app should now be available at http://localhost:8000. Navigate to http://localhost:8000/admin/ Use vagrant halt
to stop the VM while saving your state for next time. Refer to the docs for more info on Vagrant teardown.
PhillyRising targets neighborhoods throughout Philadelphia that are plagued by chronic crime and quality of life concerns, and establishes partnerships with community members to address these issues. The PhillyRising Team coordinates the actions of City agencies to help neighbors realize their vision for their community through sustainable, responsive, and cost-effective solutions. Read more at phila.gov/phillyrising.