Vowel is a Virtual Online Workspace for Education and Learning.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Sam Black e359aeb437
Add mock converters to allow testing of converter logic without a running Flask app.
5 years ago
LICENCES Add missing licences 5 years ago
deployment Flask packages using redis are all namespaced and use the cache in development versions 5 years ago
docs/developer Add what the documentation covers. 5 years ago
migrations Add total marks per assessment and per question marks. 5 years ago
testing Add mock converters to allow testing of converter logic without a running Flask app. 5 years ago
vowel Restrict redirection call to presentation edit only. 5 years ago
.gitignore Ignore generated CSS and JS 5 years ago
CHANGELOG.rst Update how to run vowel using new Flask. 5 years ago
LICENCE Initial project setup 6 years ago
README.rst Update how to run vowel using new Flask. 5 years ago
Vagrantfile Remove forwarded ports for Vagrant and fix missing fedora repos 6 years ago
requirements.testing.txt Add mock converters to allow testing of converter logic without a running Flask app. 5 years ago
requirements.txt Bump `webassets` version requirement to git to remove a SCSS path compilation bug. 5 years ago
run.py Move to latest Flask and click 5 years ago
vowel.yaml Add missing libreoffice support for sponson and vagrant 5 years ago

README.rst

==================
Lapwing.Org: Vowel
==================

About
=====

Vowel is a Virtual Online Workspace for Education and Learning.

The aim is to facilitate remote learning and training,
initially for further education and
company training organisations.


ChangeLog
=========

See CHANGELOG.rst for full list of changes.


Requirements
============

Software
--------

- PostgreSQL (9.4 or greater)
- Redis (2.6 or greater)
- Python 3 (3.4 or greater)
- LibreOffice (5.0 or greater)

Hardware
--------

- 1GB RAM
- 1CPU core
- At least 20GB HDD/SSD for storage


Setup
=====

Vagrant
-------

#. ``vagrant up``

- If you are editing the Vagrant file, use ``DNF_PROXY="proxy" vagrant up`` instead,
with a suitable caching proxy running on ``192.168.121.1:3128``
#. Goto ``http://192.168.121.10`` and login.

- Default login: ``admin@cupola.example.com``:``password``
#. If the server errors, goto ``http://127.0.0.1:8009``
and the Werkzeug debugger should be visible.


virtualenv
----------

#. Ensure the software requirements above are met and running
#. ``mkvirtualenv vowel``
#. ``git clone git@github.com:LapwingOrg/vowel.git && cd vowel``
#. ``pip install -r requirements.txt``
#. ``mkdir instance && cp config.py instance && nano instance/config.py``

- Setup you configuation options here,
such as PostgreSQL connection, file upload location, secret key, etc.
#. ``FLASK_APP=$(pwd)/run.py flask first_run``

- Enter admin email and password.
#. ``FLASK_APP=$(pwd)/run.py flask run``
#. Goto ``http://127.0.0.1:5000`` and login.
#. Background workers will not run unless started,
recommended that they are run in separate terminals

- ``source "./deployment/rq_settings.conf"``
- ``source "./instance/rq_settings.conf"``
- ``~/virtualenvs/vowel/bin/rqworker -u "${RQ_REDIS_URL}" high default low &``
- ``~/virtualenvs/vowel/bin/rqscheduler -u "${RQ_REDIS_URL}" &``


Testing
=======

Vagrant
-------

#. ``vagrant ssh``
#. ``su - vowel``
#. ``source ~/venv/bin/activate && cd ~/vowel``
#. ``nosetests -w testing/unittests``


virtualenv
----------

#. Ensure the software requirements above are met and running
#. ``workon vowel && cd <PATH TO>/vowel``
#. ``pip install -r requirements.testing.txt``
#. ``nosetests -w testing/unittests``


Licence
=======

Vowel is Copyright (C) 2015, 2016 Sam Black samwwwblack@lapwing.org.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.
If not, see `http://www.gnu.org/licenses/ <http://www.gnu.org/licenses/>`_.

Further licences are listed in the LICENCES directory.