Plan zajęć cz. 1 – Planowanie

Uczelnia, na której studiuję jakiś czas temu zrezygnowała z standardowych indeksów na rzecz elektronicznych. Od tamtej pory plan zajęć, jak i oceny są dostępne tylko w tym systemie. Kilka osób już zrobiło aplikacje na system Android wyświetlające plan zajęć. Nie spotkałem się jeszcze z aplikacją typu widget na system Windows, która wyświetlałby aktualny plan z systemu. Dzięki temu nie trzeba by się logować za każdym razem, aby sprawdzić aktualny plan zajęć.

Plan zajęć planowanie

Na początku tego roku w ramach zajęć stworzyłem aplikację pobierającą plan zajęć z systemu uczelni. Nie była ona super zaawansowana można powiedzieć że uczyłem się dopiero WPF. Aplikacja wykorzystywała metodę pobierania informacji z serwisu uczelni, która nie zawsze działała poprawnie. Po napisaniu Archiwisty zdobyłem sporo doświadczenia w programowaniu i sądzę że tym razem nowa aplikacja będzie dużo lepsza. Dodatkowo znalazłem lepsze rozwiązanie na pobieranie informacji z serwisu. Dzięki czemu znacząco poprawi niezawodność aplikacji.

Wymagania

  • Aplikacja desktopowa[WPF] i aplikacja mobilna[Xamarin]
    • Wyświetlanie planu zajęć
    • Wyświetlanie aktualności ze strony uczelni
    • Informująca o zmianach w planie
    • Kalendarz pozwalający przechodzić pomiędzy dniami
  • Tylko aplikacja desktopowa
    • Tryb 1/5/7-dniowy

Wygląd

Aplikacja na system Windows powinna pozwolić na wyświetlenie planu zajęć w trybie 1, 5 i 7-dniowym wedle wskazania użytkownika. Będzie to tabela zawierająca nagłówek mówiący o dniu tygodnia oraz dacie. Poniżej będą wyświetlane kolejne zajęcia w ciągu danego dnia. Jeżeli dane zajęcia zostały odwołane zostaną wyświetlone odpowiednim kolorem sygnalizując ich odwołanie. Aplikacja mobilna będzie się różnić jedynie trybami wyświetlania ilości dni. Ponieważ na ekranie urządzeń mobilnych nie ma tak dużo miejsca, aby wyświetlić cały tydzień.

Zasada działania

Użytkownik powinien mieć możliwość zalogowania się do systemu poprzez formularz w aplikacji. Po poprawnym zalogowaniu zostanie pobrany plan zajęć i zapisany na dysku do powtórnego odtworzenia. W razie błędnych danych do logowania użytkownik zostanie o tym poinformowany. Aby aplikacja mogła odświeżyć plan zajęć istnieje potrzeba przechowywania informacji o loginie i haśle na dysku. Dane te zostaną zaszyfrowane i zapisane w pliku wykorzystując Windows Data Protection API. Tylko ten użytkownik, który je zapisał będzie w stanie je odtworzyć. Kiedy program wykryje zmianę w planie, poinformuje o tym użytkownika w sposób adekwatny do platformy. Dodatkowo będą pobierane aktualności ze strony wydziału, aby użytkownik mógł być na bieżąco.

Kończąc

Plan jest ambitny, ale to nie znaczy, że trudny. Przez to, że napisałem już taką aplikację wcześniej istnieje możliwość wykorzystania części kodu w nowej. Pozwoli mi to zaoszczędzić sporo czasu. Głównym problemem w jej tworzeniu będzie stanowić jej wygląd. Ponieważ samej logiki jest bardzo mało. Wygląd oraz animacje zajmą sporą część czasu jej wytwarzania. Ostatnia aplikacja zajęła mi 14 tygodni, myślę, że ta aplikacja zajmie mi dużo mniej czasu. Już za tydzień przygotuję pierwszy wygląd interfejsu graficznego aplikacji desktopowej.

Leave a Reply

Translate »