Mój projekt – Raport VIII

Daj Się Poznać 2017

Daj Się Poznać 2017

Według moich obliczeń, to już przedostatni raport z prac nad Habit Trackerem w ramach DSP. Nie był to tydzień udany. Wiele rzeczy zaczęłam, a właściwie żadnej nie udało mi się skończyć.

Angular 2

W tym tygodniu niestety nie znalazłam czasu, żeby coś porobić w aplikacji w Angularze 2. Nadal dużo czytam i robię kursy online, ale po prostu zabrakło mi chwili, żeby wiedzę wykorzystać w praktyce w mojej aplikacji. W dużej mierze dlatego, że po prostu to, co muszę robić w aplikacji, jest bardziej zaawansowane, niż to, co na razie umiem. A nie chcę robić czegoś, żeby tylko działało, a tak naprawdę było do poprawy z założenia. Robię więc sobie na razie mniejsze zadania i ćwiczenia. TypeScript nadal jest dużym wyzwaniem, bo jednak od samego początku działam w JavaScripcie i dobrze się w nim czuję. Zupełne przestawienie się na inny sposób zapisu (i często myślenia) jest trudne i raczej nie można tego zrobić z dnia na dzień. Ale praktyka czyni mistrza, więc mężnie ćwiczę i liczę na to, że niedługo już będę mogła zaprezentować coś konkretnego w Angularze 2. Na razie aplikacja ma zbudowaną struktruę i dodany routing, więc początki już są.

Logowanie przez Facebooka

Zmora ostatnich dni, czyli dodanie logowania do Habit Trackera w Angularze 1. Jak pisałam już ostatnio, największym wyzwaniem chyba było znalezienie sposóbu, jak dodać tę funkcjonalność. Na szczęście, w końcu udało mi się znaleźć gotowe rozwiązanie, czyli AngularJS Social Login. To gotowy moduł do dodania w aplikacji, który pozwala wprowadzić logowanie przez portale społecznościowe. I wszystko byłoby pięknie, gdybym w zbytniej pewności siebie, nie postanowiła od razu wszystkiego sobie dodać do głównej gałęzi na githubie. Raz, że nic nie działało, a dwa, że popsuło się również demo, ponieważ jest ono stworzone na Github Pages, a jego żródłem jest master branch mojej aplikacji. Kilka dobrych godzin zajęła mi naprawa, bo ciągle rozwalało się coś nowego. A to nie pasowała wersja tego nowego modułu, a to bower nie mógł znaleźć plików, a to główny moduł nie widział dodanych skryptów. Po kilku godzinach prawie się poddałam. I wtedy zauważyłam, że wszystko powoduje LITERÓWKA w nazwie, którą podałam w pliku bower.json. Tak, literówka. Zapomniałam o dwóch literkach i przez to przypadkiem ściągnełam zupełnie inną rzecz niż moduł Agnulara. Dlatego instrukcje dodania go nie działały (niespodzianka!).

I praca nad logowaniem trwa nadal…

Nie skończyło się to jednak tak szybko, bo okazało się, że przy zgłaszaniu swojej aplikacji w Facebook for Developers musze podać jej adres. I nie może być to localhost. Także przetestowanie logowania lokalnie się nie udało. Wcześniej, w przebłysku geniuszu, stworzyłam sobie nowy branch w projekcie, na którym wszystko miałam sprawdzić, zanim dodam do głównej gałęzi. Ale z kolei nie mogłam tego testować lokalnie, tylko musiałam zobaczyć, czy działa normalnie na stronie. Także z drżeniem serca dodałam nowy branch do głównego. Sukces! Niestety, tylko częściowy. Błędów mi nie wyrzuca, wszystkie funkcje zaimplementowane w nowym module działają. Ale niestety nie mam bazy danych. Wiem, że pewnie dla osób, które sa bardziej zaawansowane, to, co tu pisze, może wydać się bez sensu, ale nie miałam nigdy do czynienia z logowaniem do aplikacji. Wszystkiego szukam po kolei sama. Także na razie temat zostawiłam. Moduł jest wgrany i wydaje się, że działa (a przynajmniej nie wyrzuca błędów). Chcę teraz sobie dokładnie poczytać o bazach danych, żeby rozeznać się w temacie i wiedzieć, jak te dane, które uzyskam, przechowywać.

Git

Jak już wspomniałam wyżej, przez to, że popsułam demo, postanowiłam być bardziej ostrożna. Jakoś nie mam ochoty znowu tyle czasu szukać, dlaczego coś nie działa i martwić się, że nie działa również demo. Dlatego zaczełam tworzyć w projekcie nowe gałęzie, gdy zaczynam pracę nad jakimś nowym zagadnieniem. Gdy wszystko działa, aktualizuję aplikację. I ile stresu zaoszczędzone 🙂

Nowy widok listy nawyków

Niezbyt podbudowały mnie porażki, więc chciałam zrobić coś nowego, co będzie ładne, funckjonalne i będzie działało. Patrząc na te życzenia z perspektywy czasu, widze, że trochę się zapędziłam. Ale od początku – padło na nowy widok listy nawyków. Bardzo bym chciała, żeby przy każdym checkboxie pojawiała się data dzienna, liczona na podstawie daty początkowej wskazanej we formularzu. No i nie jest to takie proste. Albo jest, ale nie mogę na to za bardzo wpaść. Szukam, próbuję i testuję. Znalazłam coś takiego jak MomentJS, który pozwala na manipulacje na datach, ma też dedykowany, gotowy moduł dla Angulara. Zainstalowałam obie te rzeczy w aplikacji i zamierzam w ciągu najbliższych dni je przetestować. Na razie przy każdym checkboxie pojawia się ta sama data, a to nie do końca to, o co mi chodziło.

Plany na kolejny tydzień

Według zasad DSP, to już będzie tydzień ostatni, bo rozwijam Habit Tracker od 1 marca, więc w pierwszym tygodniu maja mija 10 tydzień. Od początku nie zakładałam, że skończę aplikację. W międzyczasie zaczęłam też drugą odsłonę w Angularze 2 i wtedy już się pożegnałam z myślami, że będę mieć kompletny projekt na koniec konkursu. Chcę jednak nad aplikacją pracować nadal, też po zakończeniu konkursu. Także na ten tydzień stawiam sobie cele, jak w poprzednich tygodniach. Punkt numer jeden próba zbudowania nowego widoku listy nawyków, czyli użycie MomentJS, albo odnalezienie innego sposobu na wyświetlanie poszczególnych dat. Druga rzecz to przeczytanie więcej o bazach danych, żeby dodać logowanie. I trzecia sprawa – chociaż mały postęp w Angularze 2.