David-Kyrat / cda_v2_scala

Re-implementation (V2) of Course-Description-Automation. An app for the University of Geneva's administration to automatically generate printable 1-2 page PDF of course descriptions.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

UNIGE Administration Project | Course Description Automator

Application to automatically generate printable 1-2 page PDF of course descriptions.

V2 of repository Course-Description-Automation. Project directly integrated with the gui, refactored 100% in scala / integrated java for more coherence, stability and ease of deployment. (no more jar from a separate project for the gui and no more Rust)

Made with:

unige Scala Neovim

UI Screenshot

Output Example

Dependencies

  • Java 17 (Liberica's JDK) (Installable with sdkman, see ./setup script)
  • Pandoc
  • Wkhtmltopdf

The JDK needs to be specifically Liberica's one as it contains JavaFX, and does the linking of that library for us (i.e. no need to add cli options when running / compiling).

It should work for Java >17 but has not been tested.

Running the project

git clone https://github.com/David-Kyrat/cda_v2_scala.git
cd cda_v2_scala
# If you don't have Liberica's JDK for java17 installed (needs to be specifically Liberica's one as it contains JavaFX, and does the linking for us)
./setup
make run

or manually, if you have maven installed:

git clone https://github.com/David-Kyrat/cda_v2_scala.git
cd cda_v2_scala
./setup 
mvn clean package
java -jar target/cda-jar-with-dependencies.jar

Building the fat jar

make

file is located in target/cda.jar

About

Re-implementation (V2) of Course-Description-Automation. An app for the University of Geneva's administration to automatically generate printable 1-2 page PDF of course descriptions.


Languages

Language:Scala 53.6%Language:Java 27.5%Language:CSS 13.0%Language:HTML 5.5%Language:Makefile 0.3%Language:Shell 0.2%