/CTU-TimeTableGenerator-new

Generates the best possible time table for a user

Primary LanguageC++GNU General Public License v3.0GPL-3.0

CTU-TimeTableGenerator-new

New Time Tables Generator for CTU (CVUT).

How to use

Requirements

  • Git 2.25+ (sudo apt-get install git)
  • Boost Lib 1.65+ (sudo apt-get install libboost-all-dev)
  • GCC 7.5+ (sudo apt-get install gcc g++)
  • CMake 3.17+ (how to install on Ubuntu here)
  • Python 3.8+ (how to install on Ubuntu here)
  • Node.js 12+ (how to install on Ubuntu here)
  • Yarn (how to install on Ubutu here)

Get Siriuis Time Table API credentials

Generate Sirius API credentials here.

Steps

1

2

3

4

5

Edit config.txt

Example configuration

CLIENT_ID=Your client id
CLIENT_SECRET=Your client secret

FACULTY=ID of a faculty (18000 for FIT)
SEMESTER=ID of a semester (B201 for 2020/21)

COURSES=Space separated list of courses (e.g. BI-AAG A0B04N3 BI-AG1 BI-ZDM A0B04GA)
IGNORE_LECT=Space separated list of courses with ignored lectures (e.g. BI-AAG BI-AG1)
IGNORE_TUTS=Space separated list of courses with ignored tutorials
IGNORE_LABS=Space separated list of courses with ignored laboratories

NE_730=Should time tables with classes before or at 7:30 AM  be punished? (e.g. true)
NE_915=Should time tables with classes before or at 9:15 AM  be punished? (e.g. false)

BUILD=Build folder location (e.g. _build)
PORT=Port which will be used for the HTTP server to serve the generated content

Build and run the app

Build and run
This must be your first step

./run.sh

Build or rebuild only
Useful for development

./_build.sh

Run only
This can be useful when the app is already built but the config.txt has changed

./_start.sh