Movide is a student-centric learning platform. Movide allows teachers to define skills for students to master, and then allows students and teachers to both create content and problems. A built-in discussion system allows students and teachers to interact around the class materials. Movide helps transition learning to a multi-party interaction where content can come from anywhere. You can see it running at www.movide.com.
Movide was made with a few key design/architecture principles in mind. Some of these have been adhered to a large degree, and others are still works in progress.
- Ease of use.
- Mobile friendliness.
- Ease of installation/development.
- Ease of deployment. Included scripts can get you deployed in minutes.
Works in progress
- Ease of integrating new modules. The pattern to add a new module needs to be regularized.
- Third party module integration. There is no LTI support yet.
- Full documentation. Documentation, both high level and inline comments, is still a work in progress.
- Full API. The API is there (through
django-rest-framework), and works, but it needs to be made more consistent.
A lot of this work in progress has been deferred up to now due to the newness of Movide.
Movide is currently offered under the AGPL license. If you have a need for an alternate license, please contact firstname.lastname@example.org.
Installation is a very straightforward process:
git clone email@example.com:equirio/movide.git cd movide sudo xargs -a apt-packages.txt apt-get install # Activate your virtualenv at this point if you are using one. pip install -r requirements.txt # Run database migrations. python manage.py syncdb --settings=movide.settings --pythonpath=`pwd` python manage.py migrate --settings=movide.settings --pythonpath=`pwd`
In order to use movide, you need to run:
python manage.py runserver 127.0.0.1:8000 --settings=movide.settings --pythonpath=`pwd`
After starting up the server, you can visit
http://127.0.0.1:8000 in your browser to start using movide.
If you want to run background tasks, which include grade calculation and processing @ mentions in discussions, you need to run:
python manage.py celeryd -B --settings=movide.settings --pythonpath=`pwd`
You don't have to run celery if you don't want to, but you will be unable to use certain features.
Contributions are very welcome. Please contact firstname.lastname@example.org if you have any questions about how to contribute.
Deployment scripts for movide can be found in the
Create the movide stack
- Register for an AWS Account if you don't have one already.
- Select cloudformation in the AWS console, and load the
deployment/cloudformation/movide.jsontemplate. This template will create a web server to run movide, and a load balancer. Choose a keypair that you have access to.
- A database is not included in the stack. You can either create one separately, or opt to use a local database later on.
- Install the ansible requirements in
deployment/secrets/files/movide_deploy.templateto contain an SSH private key that can access your github, and rename it to
deployment/secrets/files/jim.keyto contain your public key, and rename it to
deployment/secrets/users/users.templateto have the right user, email, and key location, and rename it
deployment/secrets/users/movide_prod_vars.templateto point to your database. If you want to use a local mysql database, edit database_host to point to the right spot. Ensure that your auth config matches in terms of database name and password. Rename it to
- Put a
.botofile in your home directory (~) and make it look like the following:
[Credentials] aws_access_key_id = [YOUR KEY] aws_secret_access_key = [YOUR SECRET KEY] ``` ### Deploy stack 1. Go to `deployment/playbooks`. 2. Do `ansible-playbook -vvv --user=[YOUR_USER] mo_prod.yml -i ./ec2.py -c ssh` 3. If everything was setup properly, this should deploy your stack. Visiting the `ELBAddress` from your cloudformation template outputs should now show you movide.