This application allows RE-volv to crowdfund donations to community solar projects in order to promote renewable energy and help save the planet. Learn more about Blueprint's work with RE-volv on our blog.
Staging URL: http://revolv-stage.herokuapp.com/
Who We Are
Cal Blueprint is a student-run UC Berkeley organization devoted to matching the skills of its members to our desire to see social good enacted in our community. Each semester, teams of 4-5 students work closely with a non-profit to bring technological solutions to the problems they face every day.
All of Blueprint's work is open source and we welcome contributions. If you would like to contribute to work on this project, please open an issue and we'll work to get your environment set up.
Task tracking and priority
All task tracking is done via the github issues page, and every issue will be triaged when it's opened. Please use Zenhub to view issue pipelines. For non-chrome users, each issue is tagged with a priority of 1, 2, 3, 4, or 5, with 1 being highest priority. In general, higher priority issues should always be worked on first.
You can choose to use vagrant or not. Note that in either case, you will need to acquire Paypal and Amazon API keys from one of the maintainers, or the app will not work locally.
If not using vagrant, first install PostgreSQL and set up a database and user with the credentials in the
DATABASES setting from revolv/settings.py. Then:
$ pre-commit install $ npm install -g grunt-cli $ npm install -g bower $ npm install $ bower install $ grunt sass $ pip install -r requirements.txt $ python manage.py migrate $ python manage.py runserver $ python manage.py seed
If using vagrant:
- Install Virtualbox
- Install vagrant
vagrant up --provision
python vmanage.py migrate
python vmanage.py runserver
python vmanage.py seed
Additional Environment Variables
There are some additional environment variables need to be configured. See
They are all about third-party service integration like social login integration.
|SOCIAL_AUTH_FACEBOOK_KEY||Facebook App ID|
|SOCIAL_AUTH_FACEBOOK_SECRET||Facebook App Secret|
|SOCIAL_AUTH_GOOGLE_OAUTH2_KEY||Google Oauth2 Client ID|
|SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET||Google Oauth2 Client Secret|
|SHARETHIS_PUBLISHER_ID||ShareThis Publisher ID|
|SFDC_TOKEN||Salesforce Security Token|
.revolv_bash_profile, and make change to that file. If not
using vagrant execute
source .revolv_bash_profile before running
python manage.py runserver
grunt watchwill start a process which will watch for changes to specific SCSS files (defined in
Gruntfile) and will autocompile them to CSS.
- You can use the
vmanage.pyscript to run manage.py commands on the running vagrant machine without having to
vagrant sshin. For example:
python vmanage.py runserver,
python vmanage.py migrate,
python vmanage.py makemigrations --empty, etc.
- You can run
manage.py seedto seed the database, and you can run
manage.py seed --clearto clear the seeded data (useful for when something goes wrong and you want to regenerate all the seed data from scratch). You can also run
manage.py seed revolvuserprofileto seed specific data (replace
revolvuserprofilewith any of the strings from