antoninkriz / CTU-TimeTableGenerator-new

Generates the best possible time table for a user

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This project has been replaced by newer, faster and much more user friendly CTU-TimeTable-Generator


CTU-TimeTableGenerator-new

New Time Tables Generator for CTU (CVUT).

How to use

Requirements

  • Git (sudo apt-get install git) - tested on version 2.41
  • Boost Lib (sudo apt-get install libboost-all-dev) - tested on version 1.81
  • GCC (sudo apt-get install gcc g++) - tested on version 13.2.1
  • CMake (how to install on Ubuntu here) - tested on version 3.27.1
  • Python 3 (how to install on Ubuntu here) - tested on version 3.11.3
  • Node.js 18 (how to install on Ubuntu here) - tested on version 18.16.0
  • Yarn (how to install on Ubutu here) - tested on version 1.22.19

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

About

Generates the best possible time table for a user

License:GNU General Public License v3.0


Languages

Language:C++ 55.2%Language:Python 13.1%Language:Shell 11.7%Language:JavaScript 10.4%Language:SCSS 5.3%Language:CMake 1.7%Language:HTML 1.7%Language:CSS 1.0%