db
contains necessary instructions for MySQL server initialization and connection on Amazon RDS, as well as other SQL scriptsserver
contains Flask server backend instructions, Amazon EC2 server setup instructions, and code for fetching/transferring dataclient
contains JS user-facing codemodel
contains the neural network that powers schedule generation and recommendation
- A local SSH client is necessary to connect to AWS
- Installation of Neo4J Desktop is recommended
- Python3 (conda distribution preferred):
conda install numpy pandas pathlib tqdm neo4j pymysql sqlalchemy flask flask-cors -y
pip install neo4j python-dotenv
conda install pytorch cpuonly -c pytorch -y
To install the module run python setup.py install
.
To clean the module from the directory run bash clean_install.sh
The advanced function is used to generate an optimal schedule. Scores are calculated based off of this formula:
There are multiple factors that go into this:
AVG_GPA
is the average GPA of all the classes in a candidate scheduleAVG_User_Rating
is the average of average ratings across all user-provided ratings for the classes in the scheduleAVG_NN_Score
is the average NN rating. This rating takes into account temporal trendsnum_interest_courses
andnum_courses
correspond to how many courses align with a student's stream and the number of courses in the schedulenum_CH
andnum_CH_desired
correspond to the total credit-hours of the schedule, and the amount the user wants to limit to.