Whishlist, czyli co chciałbym pod Choinkę

„Kochany Święty Mikołaju! W tym roku byłem bardzo grzecznym chłopcem/dziewczynką, dlatego pod choinkę chciałbym…”. Przyznajcie się, ilu z Was pisało taki list lub chciało go napisać? A teraz ćwiczenie – ile razy zdarzyło się Wam zapomnieć co takiego Wasza Lepsza Połowa/brat/siostra/rodzice wspomnieli, że fajnie byłoby dostać to lub tamto, to mi się bardzo podoba, a Wy do Świąt czy też ich imienin/urodzin zapomnieliście co to było? Osobom, które uzyskały wynik „Nigdy!” gratuluję, pozostałych zachęcam do robienia list. Właśnie z takiego powodu postanowiłem w końcu ruszyć z dawno planowanym projektem stworzenia (w początkowych założeniach) prostej aplikacji, adresującej problem dobrej acz krótkiej pamięci, która będzie dostępna z każdego miejsca na ziemi, jeśli tylko mamy dostęp do internetu. Bo chyba mało kto z czytających ten wpis nie używa smartfona do innych czynności niż dzwonienie. No dobra, tak naprawdę to było to zlecenie od żony, ale ja na serio chciałem zrobić taką aplikację! Słowo harcerza (a byłem nim całe dwa tygodnie)!

Wymagania

W trakcie rozmyślań nad projektem pojawiło się parę wymagań, parę zniknęło, ale w miarę ostateczna lista wygląda tak:

  • aplikacja powinna działać poprawnie i być dostępna niezależnie od platformy dostępowej (czy to Mac, PC czy smartfon)
  • aplikacja powinna dawać możliwość dzielenia się listą (prywatna, publiczna lub tylko dla znajomych)
  • aplikacja powinna pozwalać na tworzenie kilku list przez jednego użytkownika (np. na urodziny, święta, dla męża, siostry, itp.)
  • aplikacja powinna dawać możliwość dodawania obrazków do elementów listy
  • aplikacja powinna dawać możliwość odznaczania zakupionych już elementów listy

Życzenia

Skoro znalazło się już parę wymagań, to warto by pomyśleć nad funkcjonalnościami, które wyróżnią nasz produkt w gąszczu podobnych rozwiązań, bo a nuż będziemy chcieli to udostępnić komuś spoza rodziny i coś na tym zarobić? Przyznam się, że temat podobnych rozwiązań zgłębiałem nie dłużej niż 15 minut, więc moje rozeznanie może być takie sobie. Mimo to uznałem, że poniższe rzeczy byłyby miłe do zobaczenia, a jednocześnie nietrywialne do zaimplementowania:

  • REST API – bo może ktoś zechce napisać natywnego klienta pod iOS
  • automagiczna wyszukiwarka najlepszych ofert w internecie – żeby ułatwić bliskim zakupy 😉

Technologia

Odkąd pierwszy raz użyłem pythona, na potrzeby realizacji zadania w jednej z pierwszych firm w których pracowałem, można zaryzykować stwierdzenie, że się w nim zakochałem. Wybór języka programowania do tego projektu był więc już od początku przesądzony. Nieco trudniejszym wyborem było znalezienie frameworka, który by nie był zbyt ciężki dla tak niewielkiej aplikacji. Ostatecznie padło na Flask‚a, do którego ostatecznie przekonały mnie szablony w Jinja i mnóstwo rozszerzeń, z których oczywiście będę korzystał (Flask-WTF, Flask-Sqlalchemy, Flask-Login i pewnie masa innych o których dowiem się podczas pracy 😉 ). Ambitne plany zakładają ponadto używanie sqlitevirualenva i być może Dockera, gdyby ktoś zechciał postawić sobie taką aplikację w domu czy w chmurze. Patrząc na dotychczasowe projekty, które realizowałem (albo przynajmniej zaczynałem realizować) dużo się jeszcze zmieni, ale zapewniam, że o wszystkich zmianach będę na bieżąco informować na tym blogu 🙂

Do przeczytania,
Łukasz

3 odpowiedzi do “Whishlist, czyli co chciałbym pod Choinkę”

  1. Hej!

    Sqlite? A może jakiś NoSQL? 😀 Fajny projekt, będę czytał i śledził na bieżąco 😉

    BTW. jeśli będziesz się bawił w REST API, to może popatrz jeszcze na swaggera? (http://swagger.io) – dokumentacja i łatwe testowanie od razu 😉

    Powodzenia!

    1. Na swaggera na pewno rzucę okiem. Co do NoSQL-a – temat do rozpoznania, choć pod względem przechowywania danych jestem nieco staromodny i lubię tabelki 😉

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *