SheetsIO icon indicating copy to clipboard operation
SheetsIO copied to clipboard

Convert project to use Spring

Open GrandyB opened this issue 2 years ago • 0 comments

Up until this point, new features have been tacked on ad-hoc with little thought into future-proofing. This has resulted in some homebrew thread management, API calls, ties between GUI and backend.

I would like to convert the project into the Spring sphere. This would result in classes like the following:

  • GoogleSheetsRepository - grabbing data from sheets API
  • GoogleSheetsService - processing sheets API data
  • DataController - exposes the sheet data on a REST API (serving the files)
  • FileAcquisitionService - downloads/fetches files from remote/local URLs
  • UpdateService - manages the update thread loop
  • UpdateController - exposes the update loop via REST, to cause an update, turn auto-update on/off etc
  • TimerService - manages the timer loop
  • TimerController - exposes the timer via REST, for setting the time, start/stopping

Should also enable the use of Spring-based @Configuration/Environment, hopefully replacing some of the homebrew config stuff, both for application.properties and for the config json.

GrandyB avatar Feb 02 '23 19:02 GrandyB