Probably only compatible with Linux, untested on Windows
- MySQL database for storing events & users
- Discord bot to quickly add/edit/list events
- Multiple clients can connect simultaneously and are kept synchronized through a websocket connection
- Clients support multiple frame styles
Directory: ~/.config/shared-timetable-server/
-
db_connector.jsonusername: The MySQL usernamepassword: The MySQL passwordhost: The MySQL hostport: The MySQL port
-
discord_bot.jsontoken: The discord bot's token
Directory: ~/.config/shared-timetable-client/
-
frame.jsonstyle:classicortrain, the style of the used frame. Can be overwritten at runtime with the--frame.style=cmd line arg.
-
remote.jsonuser.name: The username used for authentication to the serveruser.pass: The password used for authentication to the serveruser.token: The token used for authentication to the serveruser.regenToken: Whether the token should be regenerated using the username/password (iff the given token is invalid/empty)server.secure: Use https & wss instead of http & wsuser.url: The server's url/ip (incl. port if needed. Default server port:8443, can be owerwritten using the--server.portcmd line arg.)
-
other configs: The different frame styles may create additional configuration for things such as colors, locale, scaling, etc.
- Classic (default, very buggy, doesn't handle long texts well)
- Train (ignores TimetableEventData.TimetableEventCategory)
- Frames and their respective configuration (if needed) should be contained in one package
- The frame class has to be a Spring
@Componentimplementing AbstractTimetableFrame (or extending AbstractTimetableJFrame if using a JFrame) - A
AbstractTimetableFrameclass can only include one StyleConfig field to store additional configs - Use an
@AutowiredTimetableList to get the events
Feel free to create a Pull Request to implement your style in the main repo
Clients:
_Using frame: 'train'_
Using frame: 'classic'