poniedziałek, 2 sierpnia 2010

Wymagane funkcjonalności programu i wstępny plan pracy

    Dla przypomnienia Chupacabra ma być programem wzorowanym na Picasie od Google'a, czyli aplikacji do katalogowania zdjęć, ich podstawowej edycji, tagowania i synchronizowania z albumem w chmurze. Oczywiście nie mam zamiaru podejmować się napisania aplikacji tak potężnej i doskonale dopracowanej jak Picasa. Planuję zaimplementować tylko podstawowe funkcjonalności, które pozwolą mi na wykorzystanie wszystkich technologii i narzędzi, o których wspominałem w poprzednim poście.
    Oto lista funkcji jakie chciałbym dodać do programu:
  • proste przeglądanie zdjęć - możliwość przejścia przez strukturę katalogów na dysku, wyświetlenie wszystkich zdjęć z folderu w postaci miniaturek oraz oczywiście podgląd pojedynczego zdjęcia z możliwością powiększania oraz obracania
  • tworzenie i zarządzanie albumami - użytkownik może stworzyć albumy zarówno wskazując cały katalog ze zdjęciami, jak i dodawać pojedyncze zdjęcia (być może metodą drag&drop); przy czym jedno zdjęcie może należeć do wielu albumów
  • tagowanie i opisywanie zdjęć - do każdego zdjęcia lub albumu użytkownik może dodać tagi lub opisy; oczywiście wiąże się z tym możliwość wyszukiwania zdjęć
  • podstawowa edycja zdjęć - grupa kilku najbardziej podstawowych operacji na zdjęciach (przycinanie, wyostrzanie, konwersja do zdjęć czarno-białych); celem nie jest napisanie wszystkich tych funkcji samodzielnie, dlatego skorzystam z jakiejś gotowej biblioteki graficznej
  • funkcje społecznościowe - możliwość pobierania i wysyłania zdjęć na np: Facebooka; jest to dosyć mglista wizja, ale jest to opcja, gdyby pozostałe funkcjonalności poszły mi zbyt szybko
    Być może powinienem rozbić to na mniejsze i krótsze do napisania etapy, dla których mógłbym ocenić czas potrzebny na ich realizację, jednak wydaje mi się, że jest jeszcze na to za wcześnie. Nie wiem jak dużo czasu zajmie mi opanowanie tworzenia interfejsu z wykorzystaniem WPFa, ani jak pójdzie mi nauka NHibernate'a. 
    Szczegóły techniczne i narzędzia, które mam zamiar wykorzystać do poszczególnych funkcjonalności opiszę w następnej notce. A później pozostanie już tylko zagłębić się w wir kodowania :)

1 komentarz:

  1. Nie żebym się czepiał, ale... w takim razie zachęcam do zgłoszenia się do konkursu :)

    OdpowiedzUsuń