Skip to content

Repository files navigation

DayPlanner

Szkielet organizera pulpitu Windows na podstawie Organizer_AI_Roadmap_MVP.docx z 09.09.2026. C# / .NET 10 / WPF, lokalne dane, architektura przygotowana do rozwoju w kierunku Firebase i aplikacji mobilnej.

Uruchomienie

Wymagania: Windows i .NET SDK 10.0.301 lub nowszy SDK z linii 10.0.

dotnet restore DayPlanner.sln
dotnet build DayPlanner.sln
dotnet test DayPlanner.sln
dotnet run --project src/DayPlanner.Desktop

Rozwiązanie: DayPlanner.sln. Aplikacja startuje z pustym kalendarzem, bez sztucznych danych. Przeciąganie za napis DAYPLANNER, nawigacja strzałkami, kliknięcie dnia otwiera jego widok. Menu ☰ zawiera kalendarz i ustawienia. × zamyka proces.

Co jest gotowe

  • Oddzielne projekty Domain, Application, Infrastructure, Desktop oraz testy xUnit.
  • Model zadania: tytuł, opis do 1000 znaków, ciągły zakres dni, opcjonalna godzina, paleta 8 kolorów, termin przypomnienia i znacznik aktualizacji UTC.
  • Lokalne repozytorium JSON: odczyt, dodawanie, aktualizacja, trwałe usunięcie, walidacja i zapis przez plik tymczasowy. Nie nadpisuje uszkodzonego JSON pustymi danymi.
  • Ciemny shell WPF, 42-dniowa siatka od poniedziałku, nawigacja miesiącami, obwódka dzisiejszej daty, do 3 kropek i licznik pozostałych zadań, tooltip, widok dnia i panel ustawień.
  • Zapamiętywanie pozycji przy zamknięciu. Okno nie jest Always-on-Top.
  • Kontrakty przyszłych integracji przypomnień, autostartu i synchronizacji.

Granice szkieletu

To fundament, nie ukończone MVP. Formularz dodawania/edycji i usuwanie w UI, automatyczny zapis formularza, powiadomienia Windows, snooze, autostart, tray oraz integracja z warstwą pulpitu nie są jeszcze zaimplementowane. Ustawienia są panelem informacyjnym. Zamknięcie okna kończy aplikację; działanie w tle wymaga kolejnego etapu.

Obecne okno jest zwykłym oknem WPF bez ramki, z Topmost=False; nie jest jeszcze przypięte do pulpitu. Datę dzisiejszą odświeża przeładowanie kalendarza, brak jeszcze automatycznego odświeżenia o północy. Przywracanie pozycji uwzględnia granice wirtualnego ekranu; obsługa luk między monitorami i zmian DPI wymaga dopracowania.

Dane: %LOCALAPPDATA%\DayPlanner\tasks.json; pozycja: %LOCALAPPDATA%\DayPlanner\window.json. Plik zadań powstaje przy pierwszym zapisie repozytorium. Dane są lokalne, bez szyfrowania i bez połączeń sieciowych. Repozytorium wymaga jednej współdzielonej instancji na proces; blokada wielu instancji aplikacji pozostaje do wdrożenia przed CRUD.

Dokumentacja

.NET 10 jest wydaniem LTS: polityka wsparcia Microsoft.

About

DayPlanner

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages