Przeglądarka komiksów z możliwością pobrania archiwum z komiksami z wybranego okresu czasu
Wymagana funkcjonalność:
wyświetlanie wybranego komiksu (Garfield)
przyciski 'następny' i 'poprzedni'
ciasteczka pamiętają ostatni oglądany komiks
przy braku ciasteczek pokazywany jest komiks z bieżącego dnia
jeżeli ciasteczko jest dostępne pokazywany jest komiks z odpowiadającej daty
kalendarz z możliwością wybrania dnia, tygodnia albo miesiąca
rozwijana lista lat służąca do szybkiego przewijania kalendarza
po wybraniu dnia pokazywany jest komiks z tego dnia
w innym przypadku tworzone jest archiwum zawierające wszystkie obrazki z wybranego okresu czasu. Archiwum to użytkownik może zapisać na swoim komputerze
ulubione
lista wybranych przez użytkownika komiksów
przycisk 'do ulubionych' - dodaje aktualny komiks do listy
przycisk 'ściągnij' - tworzy archiwum z komiksami z listy
Przykładowy wygląd strony:
Uwagi
Adresy komiksów mają postać http://images.ucomics.com/comics/ga/YYYY/gaYYMMDD.gif
(np. komiks z 3 kwietnia 2006 ma adres http://images.ucomics.com/comics/ga/2006/ga060403.gif
Uwaga! Żeby odciążyć serwer w czasie laboratoriów część komiksów (od 1 września 2009) będzie udostępniona pod adresem beta.mini.pw.edu.pl/~szalajp/garfield/YYYY/gaYYMMDD.gif.
Zaleca się korzystanie z tych adresów przy tworzeniu aplikacji.
Pierwszy komiks pochodzi z 25 czerwca 1978 roku
Proszę zwrócić uwagę że są dwa sposoby utworzenia archiwum - przez wybranie tygodnia lub miesiąca w kalendarzu albo przez dodanie pewnej ilości komiksów do 'ulubionych' i wciśnięcie przycisku 'ściągnij'.
Warto byłoby nazywać archiwa stosownie do zawartości (np. "garfield_2006_05.zip" dla komiksów z maja 2006)
Wymagania techniczne:
obrazek wyświetlany powinien być w oryginalnym rozmiarze
kalendarz powinien 'nadążać' za przyciskami 'następny'/'poprzedni'. (w sytuacji ze screenshota gdyby zaznaczony był 31 stycznia po wciśnięciu 'poprzedni' kalendarz powinien 'przeskoczyć' na styczeń)
zapewnienie niepowtarzalności komiksów w 'ulubionych'
Wskazówki
Calendar.SelectionMode
WebClient
HttpWebRequest, HttpWebResponse
do tworzenia archiwów można wykorzystać bibliotekę DotNetZip dostępną tutaj