All Projects → csev → Wa4e

csev / Wa4e

Licence: bsd-2-clause
Course materials for www.wa4e.com

Projects that are alternatives of or similar to Wa4e

Deeplearning2020
course materials for introduction to deep learning 2020
Stars: ✭ 90 (-26.83%)
Mutual labels:  mooc, course-materials
Stanford dbclass
Collection of my solutions to the (infamous) dbclass (2014 version) offered by Stanford.
Stars: ✭ 35 (-71.54%)
Mutual labels:  database, mooc
Practical rl
A course in reinforcement learning in the wild
Stars: ✭ 4,741 (+3754.47%)
Mutual labels:  mooc, course-materials
Py4e
Web site for www.py4e.com and source to the Python 3.0 textbook
Stars: ✭ 1,387 (+1027.64%)
Mutual labels:  mooc, course-materials
Corobase
Coroutine-Oriented Main-Memory Database Engine, VLDB 2021.
Stars: ✭ 121 (-1.63%)
Mutual labels:  database
Pkhex
Pokémon Save File Editor
Stars: ✭ 1,781 (+1347.97%)
Mutual labels:  database
Cs notes
🚀自我小结
Stars: ✭ 118 (-4.07%)
Mutual labels:  database
Sdk Js
Directus JS SDK — JavaScript Software Development Kit for Node and Browser
Stars: ✭ 117 (-4.88%)
Mutual labels:  database
Databunker
Secure storage for personal records built to comply with GDPR
Stars: ✭ 122 (-0.81%)
Mutual labels:  database
Myblog
python写的博客,支持3种数据库,现在挂在evilbinary.org
Stars: ✭ 121 (-1.63%)
Mutual labels:  database
Mytap
MySQL Unit Testing Suite
Stars: ✭ 118 (-4.07%)
Mutual labels:  database
Databazel
The analytical and reporting solution for MongoDB
Stars: ✭ 118 (-4.07%)
Mutual labels:  database
Cmu 15 445
CMU的数据库系统课程
Stars: ✭ 120 (-2.44%)
Mutual labels:  database
R2dbc H2
R2DBC H2 Implementation
Stars: ✭ 118 (-4.07%)
Mutual labels:  database
Dksnap
Docker Snapshots for Development and Test Data
Stars: ✭ 122 (-0.81%)
Mutual labels:  database
Alpine Mariadb
MariaDB running on Alpine Linux [Docker]
Stars: ✭ 117 (-4.88%)
Mutual labels:  database
Rust Etcd
An etcd client library for Rust.
Stars: ✭ 119 (-3.25%)
Mutual labels:  database
Datomock
Mocking and forking Datomic Peer connections in-memory.
Stars: ✭ 121 (-1.63%)
Mutual labels:  database
Sqift
Powerful Swift wrapper for SQLite
Stars: ✭ 119 (-3.25%)
Mutual labels:  database
Mysql Container
MySQL container images based on Red Hat Software Collections and intended for OpenShift and general usage. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 117 (-4.88%)
Mutual labels:  database

Web Applications for Everybody (WA4E)

Course materials for www.wa4e.com

Setup On Localhost

Here are the steps to set this up on localhost on a Macintosh using MAMP.

Install MAMP (or similar) using https://www.wa4e.com/install

Check out this repo into a top level folder in htdocs

cd /Applications/MAMP/htdocs
git clone https://github.com/csev/wa4e.git

Go into the newly checked out folder and get a copy of Tsugi:

cd wa4e
git clone https://github.com/csev/tsugi.git

Create a database in your SQL server:

CREATE DATABASE tsugi DEFAULT CHARACTER SET utf8;
CREATE USER 'ltiuser'@'localhost' IDENTIFIED BY 'ltipassword';
GRANT ALL ON tsugi.* TO 'ltiuser'@'localhost';
CREATE USER 'ltiuser'@'127.0.0.1' IDENTIFIED BY 'ltipassword';
GRANT ALL ON tsugi.* TO 'ltiuser'@'127.0.0.1';

Still in the tsugi folder set up config.php:

cp config-dist.php config.php

Edit the config.php file, scroll through and set up all the variables. As you scroll through the file some of the following values are the values I use on my MAMP:

$wwwroot = 'http://localhost:8888/wa4e/tsugi';   // Embedded Tsugi localhost

...

$CFG->pdo = 'mysql:host=127.0.0.1;port=8889;dbname=tsugi'; // MAMP
$CFG->dbuser    = 'ltiuser';
$CFG->dbpass    = 'ltipassword';

...

$CFG->adminpw = 'short';

...

$CFG->apphome = 'http://localhost:8888/wa4e';
$CFG->context_title = "Web Applications for Everybody";
$CFG->lessons = $CFG->dirroot.'/../lessons.json';

... 

$CFG->tool_folders = array("admin", "../tools", "../mod");
$CFG->install_folder = $CFG->dirroot.'./../mod'; // Tsugi as a store

...

$CFG->servicename = 'WA4E';

Then go to https://console.developers.google.com/apis/credentials and create an "OAuth Client ID". Make it a "Web Application", give it a name, put the following into "Authorized JavaScript Origins":

    http://localhost

And these into Authorized redirect URIs:

http://localhost/wa4e/tsugi/login.php
http://localhost/wa4e/tsugi/login

Note: You do not need port numbers for either of these values in your Google configuration.

Google will give you a 'client ID' and 'client secret', add them to config.php as follows:

$CFG->google_client_id = '96..snip..oogleusercontent.com';
$CFG->google_client_secret = 'R6..snip..29a';

While you are there, you could "Create credentials", select "API key", and name the key "My Google MAP API Key" and put the API key into config.php like the following:

$CFG->google_map_api_key = 'AIza..snip..9e8';

Starting the Application

After the above configuration is done, navigate to your application:

http://localhost:8888/wa4e/

It should complain that you have not created tables and suggest you use the Admin console to do that:

http://localhost:8888/wa4e/tsugi/admin

It will demand the $CFG->adminpw from config.php (above) before unlocking the admin console. Run the "Upgrade Database" option and it should create lots of tables in the database and the red warning message about bad database, should go away.

Got into the database and the lti_key table, find the row with the key_key of google.com and put a value in the secret column - anything will do - just don't leave it empty or the internal LTI tools will not launch.

Next use the administrator interface to install the peer-grading tool from the github repository:

http://localhost:8888/wa4e/tsugi/admin/install

Click on "Available Modules" and install https://github.com/tsugitools/peer-grade

The other two LTI tools are already part of the wa4e repo and in wa4e/tools folder.

Using the Application

Navigate to:

http://localhost:8888/wa4e/

You should click around without logging in and see if things work.

Then log in with your Google account and the UI should change. In particular you should see 'Assignments' and in Lessons you should start seeing LTI autograders.

Specific Instructions on the UMich hosting Instance (for Chuck)

Make sure to set the non-standard session save path in these files:

assn/.htaccess
code/.htaccess
solutions/.htaccess
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].