The CoLab system provides instructor support for collaborative learning groups. In its current state, it deploys successfully to Heroku with Amazon SES & S3 (using ActiveStorage), Scheduler and JAWS Maria DB add-ons with a libVips buildpack. It should run in a paid dyno with SSL enabled or a configuration change would be required.
The CoLab system which is based upon and supports the continued research of Micah Gideon Modell, Ph.D.
This system can be set up for development and testing on any modern desktop OS. It requires Docker git and bash support (native on MacOSX and Linux but may require additional download/installation on Windows). The current configuration uses devContainers and I am using VSCode for development. I recommend it. The instructions below assume the docker and vsCode are already installed. If you're installing Ubuntu, be sure to use the apt package for Docker rather than the snap version. Uninstall the snap version if it's present.
- You must have mysqlshow installed for the tests to run properly. This is contained in and should be available via homebrew(on a Mac) or
apt
or whatever package manager you're using:- mariadb-client
- mysql-client
- (Recommended) Set up ssh-keys on GitHub.
- Open a terminal and navigate to a directory where you'd like to download the project.
- Run
git clone https://github.com/mgmodell/CoLab.git
(git clone git@github.com:mgmodell/CoLab.git
if you've set up ssh-keys) - Navigate to the colab directory
- Run
./buildContainers.sh
- Run
./db_load.sh -j
- Open vsCode and do the rest from there.
- Run
./dev_serv.sh -e "haccess[
yourEmail@something.com]"
to set up the testing user with your email and a password of 'password' for testing purposes. - Run
./dev_serv.sh -s
to start up the server. - Open http://localhost:3000 or use a VNC application to open vnc://localhost:5909
The dev_serve.sh
script is used to interact with the development/testing environment and it is recommended that you run each to see what options are available:
If you want to run the full suite of tests, you will use run_tests.sh
and it:
- Should be run from a terminal outside vsCode.
- Offers a listing of its features if run with no options.
- Review the issues
- Find one that interests you
- Assign it to yourself
- Start working in your own branch
git branch <enter_new_branch_name>
git checkout <enter_new_branch_name>
- Create what you need
- Create your own user account (if auth is working)
- Run
./dev_serv.sh -e "haccess[
yourEmail@something.com]"
- Run
./dev_serv.sh -e "examples[
yourEmail@something.com]"
- Open the test server
- Play with it to understand the problem
- Start writing tests
- Check in your code
git add <file name>
git commit -m `<meaningful message>`
git push
- @micah_gideon
- Ask on Slack
My wife, Misun, and my two children have been instrumental in making this possible by putting up with me throughout.