commit 0c965c9991392afc80fa98173f4491bf6bd34adb Author: luxick Date: Wed Dec 10 10:26:04 2025 +0100 Init diff --git a/README.md b/README.md new file mode 100644 index 0000000..9cbbed2 --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# Chronological +Calendar, Diary, Photos +A single application that combines regualr calendar events, sheduled maintainace and chores, journaling and photos in a single timeline view. +## The Timeline +The main view shows a continuous,scrollable calendar grid with monthly sections on the left side. +Days with events, journal entries or photos are highlighted with a corresponding icon. +The right side shows a detailed, scrollable timeline view of the selected month, with all events, journal entries and photos displayed in chronological order. +From either the calendar grid or the timeline view, the user can click on a specific day to see more details or add new entries. +## Technical Details +- Build using go and HTMX. +- Single user application without any login or authentication. +- App uses server-side rendering with HTMX for dynamic updates. +- No database, all data is stored in local files. +## Data Storage +- Data storage is configurable using a config file +- The following sources are configurable: + - Local path to .ics file for calendar events + - Local path to .ics file for diary entries + - CalDAV data that syncs calendar events from a remote server and local .ics files + - folder path for photos +- Photos are organized in the following manner: + - The photo root folder is configured in the config file. + - Inside the root folder, there are subfolders for each year (e.g., "2023", "2024"). + - Inside each year folder the photos are stored directly. + - Photos are named using the following format: "YYYY-MM-DD_description.ext" (e.g., "2024-06-15_BirthdayParty.jpg"). +- The diary entries are stored in an .ics file with each entry representing a journal entry for a specific day. +- Only one diary entry per day is supported. +- That entry is always an all-day event called "Chronolog" in the .ics file. +- The description field of that all-day event contains the actual journal text. +## Frontend +- The frontend is built using HTMX for dynamic content updates. +- TODO: It is not yet deceided what CSS framework to use, if any. \ No newline at end of file