A smart calendar app for allowing Concordia students to easily discover other students who have similar breaks, with options to filter by.
- Sign-on / auth via myconcordia credentials
- Get schedule via myconcordia credentials
- Ask user to enter leeway times for before their first class / after their last class
- [Secondary] Ask user to enter list of student IDs a.k.a 'friends list'
- Student 'friend' discovery by name search
- Display the user's schedule
- For a given break, allow user to list other students with the same break
- Support filtering by the following criteria:
- Specific program(s) e.g. computer science, software eng
- Specific subject(s) e.g. COMP, ENCS, MATH
- Specific course(s) e.g. COMP 248, ENGR 233
- Shares common course(s)
- Same course immediately before/after break
- Specific person(s)
- Support ranking by the following criteria:
- Program similarity composite score (common courses / same program)
- Break overlap percentage
- Specific person(s) / friends
- Support filtering by the following criteria:
- Get matches list based off a given week
- Filters:
- Specific department(s) e.g. engineering, arts, jmsb
- Rankings:
- asdfsd
- Granular control over leeway times
- Aggregated heatmap of break times for a given student profile
- Tntegration with contacts application for friend discovery
- Mobile support
- [Secondary] --> Backend feature should be done but minimal UI implementation
Make sure to run git update-index --skip-worktree userconfig.py
after cloning to ensure that the changes to the config file won't be tracked.
The scripts are developed/tested with Python 3.6.8.
It is suggested to use a virtual environment, as the selenium
package is needed.
-
Create a new virtual environment with:
virtualenv -p `which python3.6` venv
, activate it with. venv/bin/activate
. You should see(venv)
prepended to youruser@hostname
. -
With your venv activated, install python packages in
requirements.txt
:pip install -r requirements.txt
-
Download ChromeDriver and copy to the root of this repo. If you want this script to run it has to be in the same folder as the
chromedriver
executable. Instructions originally found here, how to get chromedriver summarized below.
cd /path/to/ConuConnect
wget https://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip
unzip chromedriver_linux64.zip