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.
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.DesktopRozwią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.
- 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.
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.
.NET 10 jest wydaniem LTS: polityka wsparcia Microsoft.