A Course-Schedule/ productivity application written in Java. Keep track of your lessons with the built in weekly calendar and manage your tasks with a fully customizable Kanban-board.
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
What things you need to install the software and how to install them
- Java version 11 or newer
- JavaFx 11.0.1 (stable) or newer
- Jackson library
- controlsfx
Under Ubuntu: Use the following commands to install Open JDK
$ sudo apt update && sudo apt upgrade
$ sudo apt install default-jdk
$ java --version
If you wan't to install Oracle JDK 11 follow the below commands
$ sudo add-apt-repository ppa:linuxuprising/java
$ sudo apt update
$ sudo apt install oracle-java11-installer
Download the appropriate version here.
Visit maven.org, search for jackson-core and download: jackson-core, jackson-databind and jackson-annotations ( Group ID must be: com.fasterxml.jackson.core).
Download controlsfx-11.0.0 from here and add it to the existing libraries under File -> Project Structure -> Libraries.
A step by step series of examples that tell you how to get a development env running
Open Intellij and create a new project:
New Project -> Project from Version Controll -> Git -> enter URL: https://github.com/r4gus/studimanager -> clone
In the newly created project go to: File -> Project Structure -> Libraries -> + -> java and enter:
/path/to/javafx-sdk-12.0.1/lib
Also add the following libraries the same way:
/path/to/jackson/jackson-annotations-2.10.0.pr1.jar
/path/to/jackson/jackson-core-2.10.0.pr1.jar
/path/to/jackson/jackson-databind-2.10.0.pr1.jar
Go to Run -> Edit Configurations -> Application -> Main and add the following to the VM options:
Linux/ Mac
--module-path /path/to/javafx-sdk-12.0.1/lib --add-modules javafx.controls,javafx.fxml
Windows
--module-path "\path\to\javafx-sdk-12.0.2\lib" --add-modules javafx.controls,javafx.fxml
Just let Intellij import Junit for you.
Every major Package should have an mypackage.test folder.
Follow these instructions to run the automated tests:
Right Click on test -> Run Tests in 'mypackage.test'
This program supports multiple languages through property files. All files can be found at src.config.i18n.Resource Bundle'TimetableResourceBundle'. To add support for a new language follow these steps:
- Copy and rename an existing file. The naming convention is TimetableResourceBundle_xx_XX.properties.
For example, to support Italian name the file:
TimetableResourceBundle_it_IT.properties
- Translate all values of the key-value pairs depending on the language.
- Add the language-code to
src.config.Language
- Add a new case to the switch statement in
Main.Main
and don't forget thebreak
The program should support Italian:
TimetableResourceBundle_it_IT.porperties
True=true -> True=vera
...
public enum Language {
EN, DE, FR, IT
}
bundle = ResourceBundle.getBundle("config.i18n.TimetableResourceBundle", new Locale("it", "IT"));
break;
First create an artifact under File, Project Structure, Artifacts, add, jar, from Modules with dependency and select Main.Launcher as the main class. After that add a copy of the javafx-sdk directory (File, Poject Structure, Artifacts, Add Copy Of, Directory Content, path/to/javafx-sdk-12.0.1). Finally build the artifact with (Build, Build Artifact, studimanager, build/ rebuild).
coming soon...
Create a project folder and move the .jar file into it. Within the newly created folder add the following sub directories:
- resources (should contain: icons8-cancel-48.png, icons8-info-48.png and icons8-ok-48.png)
- log (contains the log files later on)
- files
- config (has to contain: user.properties and verbose.properties)
Run the program with:
java -jar <program_name>.jar
Java 11 and later may not contain specific libraries required for JavaFx. If that's the case you should get an error like: ...No suitable pipeline found... or ...glass library missing....
If you can't find a proper Java version to run the application, the only way to fix this issue is to obtain the required libraries and add them to Java.
libprism_es2.os, libprism_sw.so, libglass.so, libglassgtk3.so, libglassgtk2.so, libjavafx_font.so, libjavafx_font_freetype.so, libjavafx_font_pango.so
prism_d3d.dll, prism_sw.dll, javafx_font.dll, glass.dll
If you're using IntelliJ ultimate, you should get those libraries from the java version that ships with the IDE or just use that java version in the first place.
Under development.
- David Sugar - Initial work - r4gus
- Lukas Mendel - Initial work - LukasMendel
- Big thanks to the coffee machine that keeps me going (r4gus)