Tools to help organize local study groups to take online courses together
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.tx
advice
analytics
announce
api
backup
cities
config
custom_registration
discourse_sso
docs
frontend
interest
learnwithpeople
locale French translation files Apr 12, 2017
mockups
static getting closer Dec 6, 2018
studygroups Update prefetch for exporting learning circles Feb 11, 2019
surveys
templates
tmp
uxhelpers
.dockerignore
.gitignore
.travis.yml
Dockerfile
LICENSE
Procfile
README.md clean up dependencies Oct 19, 2018
docker-compose-full.yml
docker-compose.yml
i18n Add pot files for translation using Transifex Mar 24, 2017
manage.py
package-lock.json add country_en field Nov 14, 2018
package.json Merge branch 'clean_community_digest' of github.com:p2pu/learning-cir… Nov 14, 2018
release-notes.md
requirements.txt
webpack.config.js
webpack.config.profile.js

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

To restore the database from an .sql file:

docker container exec -i $(docker-compose ps -q postgres) psql -U postgres lc < <filename>.sql