This is the runnable component of the project Progressor - The Programming Professor. It contains both the web application and a compiled Executor JAR.
These instructions are written for Ubuntu 16.04.1 LTS.
- Install Docker by executing
curl -sSL https://get.docker.com/ | sh
on the server.
- Install Meteor
- Install meteor-up (mup) globally:
npm install --global mup
- Clone this repository or navigate to the folder where you cloned it.
- Deploy the Meteor web application to the server. (Instructions adapted from meteor-up documentation.)
- Configure your server(s) including usernames and passwords in
.deploy/mup.js
as instructed. - Configure the application using
private/config.json
andprivate/secret.json
as instructed. - Go to
.deploy
and set up the server by executingmup setup
- After the setup finished, deploy the web application and the MongoDB database by executing
mup deploy
- Additional Information
- The user you want to use to deploy Progressor to the server needs to be in the
docker
andsudo
groups and haveNOPASSWD
enabled. - If you want to re-deploy the application without the database, you can remove the servers from
module.exports.mongo.servers
in.deploy/mup.js
. - More information about mup can be found in the official meteor-up documentation.
- More information about the configuration of Progressor can be found in the advanced configuration options
- The user you want to use to deploy Progressor to the server needs to be in the
- Configure your server(s) including usernames and passwords in
You need to run the Executor to be able to solve exercises.
- You can either clone the repository and build the project yourself
- or simply use the JAR file included in the directory
bin
.- In this case, run the Executor with a working directory outside the Meteor projects, otherwise Meteor will recognize the files temporarily created and continuously restart the server.
This repository contains a reactive Meteor web application.
Meteor is an app platform. Web application run on a Node.js web server and use a MongoDB document-oriented database.
Note: Meteor applications require activated JavaScript on the client side (in the web browser) or nothing is displayed.
This project Progressor - The Programming Professor was started by three BSc students at the Bern University of Applied Sciences' (BUAS / @bfh) Computer Perception & Virtual Reality Lab (@cpvrLab).
It has since been provided as open-source in order to encourage other educational institutions, enterprises and individuals to get involved and set up their own installation.
Progressor offers two basic features.
- You can create and solve exercises on your own and improve your programming skills.
- Or you can create examinations for your students to take and evaluate their achievements.
Example Examination | Student Examination Dashboard |
---|---|
The system is composed of two components.
- The Meteor web application that runs on a Node.js web server and uses a MongoDB database.
- The Executor, which is a seperate Java application that communicates with the web application using Apache Thrift and executed the code fragments entered by the users.