Projekt aplikacji WellDoneIt założenia technologiczne

Jak wcześniej pisałem przystąpiłem do konkursu Daj się poznać organizowanego przez Macieja Aniserowicza. W tym konkursie oprócz samego blogowania bardzo ważny jest projekt. W trakcie rozwoju projektu należy blogować na jego temat około 2 razy na własnym blogu. W tym wpisie postaram się przedstawić własny pomysł na projekt od strony założeń technologicznych.

Temat projektu: Aplikacja wspierająca organizację zadań zgodnie z metodologią Get things done.

Dlaczego taki temat? Przyznam się, że na początku miałem inny pomysł (aplikacja dotycząca mojego rodzinnego miasta), który nawet zgłosiłem, ale po dogłębnym przeanalizowaniu tematu doszedłem do wniosku, że jest zbyt mały. Szybki mail do organizatora i temat zmieniony. Jeszcze raz dziękuje.

No ale dlaczego organizacja zadań, GTD itd.?  Temat z organizacją zadań jest tutaj troszkę poboczny Winking smile, chociaż bardzo lubię GTD i opiszę tę metodologię w którymś z przyszłych postów, podczas wpisu związanego z częścią merytoryczną aplikacji. Najbardziej zależy mi na technologii, którą będę mógł nauczyć się programując tę aplikację. Temat z aplikacją o mieście nie pozwoliłby mi zastosować wszystkiego co planuję. Dodam jeszcze, że temat mojej pracy magisterskiej miałem podobny, jednakże wykonana aplikacja była pisana w innej technologii, oraz nigdy jej nie wstawiłem do sklepu. Mam ją nawet na github-ie. Teraz wiem troszkę więcej na temat programowania (albo tak mi się wydaje), dlatego nową wersję tej aplikacji zrobię na pewno lepiej, a dodatkowo na różne platformy mobilne. Mam też zamiar ją opublikować.

No dobrze, to w końcu jaka technologia?

  • Xamarin, a konkretniej Xamarin.Forms. Będę chciał, aby aplikacja była napisana co najmniej na Windows 10 Mobile i Androida, co do IOS-a to jeszcze nie wiem, czy będę miał możliwość podłączenia się do maca. W którymś z przyszłych postów postaram się opisać co to takiego i dlaczego uważam, że jest to fajna technologia.
  • Chmura Azure, bardzo mi na tym zależy, aby nauczyć się podłączać aplikacje do chmury. Myślę, że Azure jest dobrym rozwiązaniem głównie dlatego, że ma bardzo dobrze zorganizowane tutoriale, dla początkujących to bardzo ważne.

Jakie funkcje planuję pod kątem technologicznym?

  • logowanie z użyciem dostawców tożsamości (facebook, twitter)
  • przechowywanie danych o zadaniach/kontekstach użytkownika lokalnie w bazie SqlLite
  • synchronizacja i przechowywanie danych użytkownika w chmurze Azure
  • notyfikacje push o nadchodzących zadaniach/terminach
  • może coś jeszcze w trakcie wymyślę…

W następnych postach opiszę założenia merytoryczne aplikacji, czyli jakie problemy będzie ona rozwiązywać swoim użytkownikom.

Myślę, że pierwszy post można odliczyć z puli postów potrzebnych w konkursie Daj się poznać. Aktualny licznik 1 Smile