A collaborative, youthled project aiming to make use of digital technology to provide mental health support to children & adolescents suffering with anxiety.
- Python + Django
- JavaScript for some interactions/ lazy loading images etc
- Chart.js
- Sass + HTML
- Github
- Slack for group chats/standups etc
- Terminal: iTerm2 (MacOSX), Terminator (Linux) or use your preffered one.
- Text Editor: Sublime Text or you preffered one.
-
Install virtualenv:
sudo pip install virtualenv
-
Install virtualenvwrapper:
sudo pip install virtualenvwrapper
If you are on OS X El Capitan, you might get the following error:
Uninstalling six-1.4.1: Exception: Traceback (most recent call last): ... OSError: [Errno 1] Operation not permitted: '/var/folders/7x/h9sy5ff95bl45569k5km9g5m0000gn/T/pip-aWCOxi-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
If that happens, re-run the command with the flag
--ignore-installed six
-
Source the
virtualenvwrapper
:source /usr/local/bin/virtualenvwrapper.sh
NOTE: To help do this automatically on every new shell you open add the line above to your
.bash_profile
or.bashrc
-
Create a new env for the project:
mkvirtualenv ocdaction
-
Get the code:
git clone git@github.com:womenhackfornonprofits/ocdaction.git
-
Go inside the
ocdaction
directory:cd ocdaction
-
Activate the virtual enviroment:
workon ocdaction
This will now ensure anything you install is within this enviroment.
-
You will need to have Postgres installed and up and running. You can onstall it via:
- Homebrew
brew install postgresql
- OR Download the Postgress App
- Homebrew
-
Make sure the Postgres Server is up and running:
- If using the App simply start the server from there
- If using command line:
brew services start postgresql
-
Install the requirements:
pip install -r requirements/base.txt
This will get all the dependencies.
-
Create a database locally for the project to run:
createdb ocdaction
-
Go inside frontend folder:
cd frontend
-
Install all the dependencies:
npm install
This will get all the dependencies
-
Go inside the django app directory:
cd ocdaction
-
Run django server:
python manage.py runserver
-
The project is now running on
http://127.0.0.1:8000/
, go to that address in your browser. -
You may see a message that you have unapplied migrations, when you see this simply run the command below which will create any tables and fields in the database:
python manage.py migrate
-
To run tests, run
pytest
from within the app directory. This will run all tests within that directory and subfolders.
- Make css and javascript changes in the
frontend
folder - Make any HTML changes in the Django templates located in
ocdaction/templates
- Use
grunt watch
in the frontend folder to build, watch and copy all the required files automatically into the Django static folder.
- Create a Heroku Account
- Get added to the app in the Heroku Dashboard
- Download Heroku toolbelt:
wget -qO- https://toolbelt.heroku.com/install.sh | sh
- In the terminal
heroku login
- Within you project directory
heroku git:remote -a staging-ocdaction
- Once you are ready to deploy, from master branch you can run
git push heroku master
make sure you have commited all the changes before running this and thegit status
is clean. - Go to https://staging-ocdaction.herokuapp.com/ to view the live site.
Please follow a few guidelines in order to contribute to the project set out in the Contributing file