Classy is a classroom management system developed by the Department of Computer Science at UBC. Classy is tightly integrated with GitHub and has the ability to automatically provision student repositories, create teams, and mark assignments. Administrators can configure deliverables, enter grades, and view comprehensive dashboards of all student test executions. Students can use the system to create teams (if required) and view their grades and assignment feedback.
Primary contributors:
Features that add value to Classy should be merged back into the Classy project. Any feature that is practical, improves the administration of a course, and is useful to instructors is likely to add value and be accepted as core code. Features, on the other hand, that are only useful to a single course will likely not be accepted as core code. A feature needs to have adequate code coverage (> 90%) and have been tested for a semester in a downstream fork to be eligible as core code. Bug fixes always have value and can be merged via PR back to ubccpsc/classy
as required.
To contribute code to Classy, create a PR that has your code in a feature branch (e.g., feature/my-new-feature
) ready to merge into the root ubccpsc/main
branch. To ensure that the code is ready to merge, rebase your feature branch on the ubccpsc/main
branch. Rebasing will help eliminate any later downstream and upstream merge conflicts. Classy has been configured with CircleCI for validating work. Any PRs must pass the CircleCI test suites.
Any unnecessary files, such as custom back-end and front-end files should NOT be part of the PR. Add unnecessary files to your Global Git Ignore Configuration.
Instructions for getting started with Classy have been sorted into sections based on the following user roles:
- 1. Bootstrapping Classy for Development
- 2. Course Development/Customization
- 3. Contributing to Classy
- 4. Setup CircleCI & Coveralls