Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/fwcd/timetable

Calendar and task management application
https://github.com/fwcd/timetable

calendar javafx

Last synced: 22 days ago
JSON representation

Calendar and task management application

Awesome Lists containing this project

README

        

# TimeTable
A lightweight calendar application.

![Screenshot](screenshot.png)

## Requirements
* Java 1.11+

## Running
* `./gradlew :app:run`

## Module Architecture
The application consists of multiple modules, some of which are bundled at compile-time.

| Module | Description |
| ------ | ----------- |
| app | The runnable application and the GUI |
| plugins | Runtime and Compile-time extensions |
| shared | Shared classes between the application and extensions |

| Plugin | Type | Description |
| ------ | ---- | ----------- |
| git | Bundled (compile-time) | A Git history browser |
| ical | Bundled (compile-time) | An iCalendar importer & exporter |
| cau | Runtime JAR | A lecture browser for the University of Kiel |
| timer | Bundled (compile-time) | WIP |

To compile runtime plugins, the `jar` task is used:

`./gradlew :plugins:cau:jar`

This will automatically generate the necessary `ServiceLoader` interfaces using Gradle. The plugin can then be added through the application using the plugin manager.