Related to #8
Summary
Timezone, location (latitude/longitude) and the optimization scheduler interval are currently only configurable through environment variables. Changing them requires editing .env and restarting the container, which is not friendly for end users and is not discoverable from the UI.
These settings should be manageable directly from the application.
Goals
- Move
TIMEZONE, LATITUDE, LONGITUDE and SCHEDULER_INTERVAL_SECONDS from environment variables to user-editable, database-backed settings.
- Expose a dedicated "System" settings page in the frontend.
- Apply changes at runtime where possible, without requiring a restart:
- refresh the application timezone;
- reconfigure the Sun-based calculations location;
- reschedule the optimization evaluation job with the new interval.
- Validate the values (valid IANA timezone, latitude/longitude ranges, positive interval).
UX
- Timezone chosen from a searchable list.
- Location picked on an interactive map (drag a marker / click), instead of raw coordinate inputs.
Notes
- The environment variables are removed; defaults are seeded on first run and can then be changed from the app.
Related to #8
Summary
Timezone, location (latitude/longitude) and the optimization scheduler interval are currently only configurable through environment variables. Changing them requires editing
.envand restarting the container, which is not friendly for end users and is not discoverable from the UI.These settings should be manageable directly from the application.
Goals
TIMEZONE,LATITUDE,LONGITUDEandSCHEDULER_INTERVAL_SECONDSfrom environment variables to user-editable, database-backed settings.UX
Notes