Tools to help organize local study groups to take online courses together
Clone or download
Latest commit cdd3c38 Oct 12, 2018
Permalink
Failed to load latest commit information.
.tx Add transifex-client config Mar 24, 2017
advice Add app and model for storing advice in db Mar 13, 2018
analytics Fix tracking error Jan 8, 2016
api Add separate country and region fields for study groups Oct 10, 2018
backup 2to3 migration Mar 5, 2018
cities 2to3 migration Mar 5, 2018
config Switch to python-alpine image. Replace wait-for-it with dockerize. Re… Mar 6, 2018
custom_registration make required=false on communication_opt_in field Oct 12, 2018
discourse_sso Dont ask discourse to validate email addresses. Closes #214. Aug 22, 2018
docs Updates to docs Aug 8, 2018
frontend Add separate country and region fields for study groups Oct 10, 2018
interest 2to3 migration Mar 5, 2018
learnwithpeople Add generic user welcome message and remove facilitator update that i… Sep 5, 2018
locale French translation files Apr 12, 2017
mockups add rendered SVG Nov 2, 2017
static add in js from p2pu-theme Oct 3, 2018
studygroups Update migration Oct 12, 2018
surveys Reconcile survey results from TypeForm with field text and export to CSV Jul 26, 2018
templates Add separate country and region fields for study groups Oct 10, 2018
uxhelpers 2to3 migration Mar 5, 2018
.dockerignore Add extra fields for learning circles - signup question and facilitat… Feb 9, 2018
.gitignore Add extra fields for learning circles - signup question and facilitat… Feb 9, 2018
.travis.yml Add version and git revision to __init__.py. Closes #37 Jul 18, 2018
Dockerfile Remove empty env variable from Dockerfile Sep 25, 2018
LICENSE Add missing license info to proejct Nov 24, 2016
Procfile Initial commit Mar 23, 2015
README.md Update README to mention correct Python version May 30, 2018
docker-compose-full.yml Switch to python-alpine image. Replace wait-for-it with dockerize. Re… Mar 6, 2018
docker-compose.yml Add maildev for email testing Mar 19, 2018
i18n Add pot files for translation using Transifex Mar 24, 2017
manage.py Initial commit Mar 23, 2015
package-lock.json Update p2pu-search-cards Oct 11, 2018
package.json Attach event icalendar for meetings. Fix issue with meeting city Oct 11, 2018
release-notes.md Update release notes Jun 2, 2017
requirements.txt Add python dependencies Oct 11, 2018
webpack.config.js add in js from p2pu-theme Oct 3, 2018
webpack.config.profile.js Add config to profile webpack build Oct 8, 2018

README.md

Learning circles Build Status

Learning circles are study groups that meet weekly at a physical location to work together through an online course.

This is the source code for the online dashboard that helps facilitators organize and run their learning circles. You can find the dashboard at learningcircles.p2pu.org or see the online user documentation for a guide on how to use the dashboard and a description on the functionality provided.

What are the future plans

We maintain a feature roadmap where you can see what we are currently working on and what we are planning to do.

Development

Development environment

You will need python 3.6 with virtualenv and node v8 available for development.

This section assumes that you have python 3.6 available and set as the default python version and Node.js v8. If that is not the case, please see https://python.org and https://nodejs.org respectively for instruction on how to set it up. If you are running other versions of node on your computer, it is recommended that you use a tool like nvm to manage the different versions.

The shortest path to a running environment is:

virtualenv venv
source venv/bin/activate
pip install -r requirements.txt
python manage.py syncdb
python manage.py collectstatic
python manage.py runserver

To compile JavaScript resources, run

npm install
npm run build

To generate strings for translation

python manage.py makemessages -l es -l fr -i venv
python manage.py makemessages -l es -l fr -i venv -i node_modules -i assets/dist/* -i docs -d djangojs -e jsx,js

Translation is done using Transifex

Using Docker compose

See http://docker.com/ for instructions on installing Docker.

Once you have docker and docker-compose set up, run the following commands in the project directory:

docker-compose up

In a new shell:

docker-compose exec postgres psql -U postgres -c "create user lc WITH PASSWORD 'password';"
docker-compose exec postgres psql -U postgres -c "create database lc with owner lc;"
docker-compose exec postgres psql -U postgres -c "ALTER USER lc CREATEDB;"
docker-compose restart learning-circles
docker-compose exec learning-circles /opt/django-venv/bin/python manage.py migrate

You should now be able to open the dashboard on http://localhost:8000/. Any changes you make to local Python files will be reflected

To run the tests:

docker-compose exec learning-circles /opt/django-venv/bin/python manage.py test