mgmodell / CoLab

A collaboration-focused learning management system grounded in research.
3 stars 1 forks source link

GitHub commit activity GitHub language count CucumberReports: CoLab

README

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.

What is this repository for?

The CoLab system which is based upon and supports the continued research of Micah Gideon Modell, Ph.D.

How do I get set up?

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).

Setting up

  1. On Windows, you'll first want to install Ubuntu on WSL2 (version 20.04 LTS or later should work just fine).
  2. 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.
  3. 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:
    1. mariadb-client
    2. mysql-client
  4. (Recommended) Set up ssh-keys on GitHub.
  5. Open a terminal and navigate to a directory where you'd like to download the project.
  6. Run git clone https://github.com/mgmodell/CoLab.git (git clone git@github.com:mgmodell/CoLab.git if you've set up ssh-keys)
  7. Navigate to the colab directory
  8. Run ./buildContainers.sh
  9. Run ./dev_serv.sh -j to load up anonymized testing data.
  10. 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::

Contribution instructions

  1. Review the issues
  2. Find one that interests you
  3. Assign it to yourself
  4. Start working in your own branch
    • git branch <enter_new_branch_name>
    • git checkout <enter_new_branch_name>
  5. Create what you need
  6. Open the test server
  7. Play with it to understand the problem
  8. Start writing tests
  9. Run your tests (this may not work on all systems)
    • rake cucumber:rerun
  10. Check in your code
    • git add <file name>
    • git commit -m `<meaningful message>`
    • git push

Who do I talk to?

Contributors

My wife, Misun, and my two children have been instrumental in making this possible by putting up with me throughout.