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).
- On Windows, you'll first want to install Ubuntu on WSL2 (version 20.04 LTS or later should work just fine).
- 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.
- If you plan to run tests, 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
./dev_serv.sh -j
to load up anonymized testing data. - 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.
The following two scripts are used to launch the development/testing server for manual testing and to launch the automated tests (respectively). Running either without any parameters will give you a full guide::
dev_serv.sh
- Get started by using the-j
option to load a basic test dump and the-s
option to start the server on http://localhost:3000.run_tests.sh
- Start with the-c
option to make sure the database exists, then the-r
option will kick off the process (warning it runs for nearly a day).
- 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
- Run your tests (this may not work on all systems)
rake cucumber:rerun
- 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.