Groupre's development has been moved from Github to Gitlab: https://gitlab.com/unc-cs-toolsmiths/groupre
Welcome to the groupre GitHub repository!
Groupre is a program written in python meant to allow fast, automated matching of students to chairs based on student preferences, professor settings, and chair attributes.
As a result of being created within the Software Engineering Lab course at the University of North Carolina at Chapel Hill, this repository contains the groupre python source code as well as the web implementation for professor use of it at UNC-CH. The current web-app locations can be found at our website groupre.cs.unc.edu.
Documentation for the groupre project can be found here, with archives located here.
In the event that the master documentation is not up to date, you can view the develop documentation here, with archives located here.
Prospective users looking to utilize the groupre python module for a different organization are encouraged to pull the groupre module source code located here.
Here are the currently available command-line flags you can use when calling groupre:
- -c <CHAIRS> or --chairs <CHAIRS>
- The chairs input file.
- -s <STUDENTS> or --students <STUDENTS>
- The students input file.
- -f or --fallback
- Enable fallback functionality.
- -m or --metrics
- Enable metrics functionality.
- -g or --gender
- Enable gender functionality.
- -o <OUTPUT> or --output <OUTPUT>
- The output file.
You can use the groupre module directly via the command line by entering the following:
groupre.py -f -c <CHAIRS> -s <STUDENTS> -o <OUTPUT>
Where <CHAIRS>, <STUDENTS>, and <OUTPUT> are file locations for those respective files.
Note: If groupre.py has not been given execution permissions, you may need to preface this command with "python" or your machine's equivalent Python 3 alias.
Alternatively, you can install the groupre module and import it directly into another python project.
Installation can be done by calling the following in your terminal emulator of choice while located in the same directory as setup.py (src/groupre):
python setup.py develop --user
Running the module can be done by using the following call to groupre's main function:
groupre.main('groupre.py', ARGS)
Where ARGS is defined as a list of arguments such as:
ARGS = ['-c', <CHAIRS>, '-s', <STUDENTS>, '-o', <OUTPUT>]
Where <CHAIRS>, <STUDENTS>, and <OUTPUT> are file locations for those respective files.
You can uninstall the module by calling the following in your terminal emulator of choice:
python setup.py develop --user -u
Developers looking to modify html files need to look in the templates directory. All other relevant files can be found (and should be stored) in the static directory.
- Flask - The web framework used for our Carolina CloudApps deployment.
- gunicorn - A Python WSGI HTTP Server for UNIX.
View our CONTRIBUTING.md file for details.
An official versioning template has not yet been chosen.
View our chosen LICENSE file for details.