OpenTeach is an opensource teaching platform.
we emphasize:
- Data Control: All data is in the hand of the instructor. We do not take any data as prisoner, and changing platform should be easy.
- Philosophical emphasis:
- Communication
- Feedback over assessment
- Writing teaching material on demand (and develop it lean)
Checkout the platform on Mads's instance here. Apply for apprenticeship for any requests.
Start a virtual machine on digital ocean (using docker-machine
):
docker-machine create \
--driver=digitalocean \
--digitalocean-access-token=[API KEY] \
--digitalocean-size=512mb \
--digitalocean-region=fra1 \
--digitalocean-private-networking=true \
--digitalocean-image=ubuntu-16-04-x64 \
openteach
With docker use following docker compose template for a docker-compose.yml
file.
openteach:
image: kadirahq/meteord:base
restart: always
ports:
- "80:80"
links:
- mongo
environment:
- MONGO_URL=mongodb://mongo/meteor-db
- ROOT_URL=http://[YOUR DOMAIN]
- BUNDLE_URL=https://raw.githubusercontent.com/openteach/release/master/releases/[RELEASE].tar.gz
- METEOR_SETTINGS=[CONTENT OF SETTINGS.JSON]
mongo:
image: mongo:3.0
volumes:
- /data/db:/data/db
Then setup by
eval $(docker-machine env openteach)
docker-compose up -d
Lastly go to the site and log in using the mail from the settings.json
file with the password openteach.
Four easy steps to get started from the terminal:
- Clone this repository:
git clone [email protected]:openteach/openTeach.git
- Go into the openTeach folder with
cd openTeach
- make a settings file in the root folder
touch settings.json
- Copy and paste the template below into the settings.json file
- Edit the new
settings.json
file with your GitHub personal access token.
{
"githubApi" : {
"access_token" : "GitHub personal access token"
},
"instructor" : {
"ghUser" : "openteach",
"ghRepo" : "test-instructor",
"email" : "[email protected]"
},
"public": {
"instructorName" : "Mads Buch"
}
}
GitHub personal access token:
- Go to your GitHub settings in top right corner.
- In the left menu click Personal access tokens.
- In top right corner choose Generate new token.
- Copy and paste the generated token and replace the
GitHub personal access token
in settings.json file with the new token.
Now run meteor npm install
to install dependencies.
This projects can be run in two modes: As the normal app and for testing.
Running as a normal app:
meteor --settings settings.json
Running tests:
meteor test --driver-package practicalmeteor:mocha --port 3100
Note: Tests are served on port 3100
. This is so that both an app and tests
may be run at the same time.
For importing stuff from github, invoke following API endpoint:
http://localhost:3000/api/v1/import/github
If you adopt this project and which to create a deployment file, follow following steps.
- Run
meteor build --architecture=os.linux.x86_64 ./
in the library - Move the newly created file,
openteach.tar.gz
, to a public location on the web - Update the docker compose file from the deployment section.
- Do a
compose up -d
.
Documentation is available in the handbook folder
This is an open source project, and as such we do not take any responsibility or are in any ways liable for the project. Everybody are more than welcome to use the software.