Przejdź do głównej zawartości

Posty

Aplikacja Perfect Life - Sprint 2 - planowanie

Drugi sprint czas zacząć. Tym razem na pierwszy ogień pójdzie dodawanie wagi i wykresy słupkowe. Będę chciał stworzyć odpowiednią usługę sieciową(technologia Web API .net core), która będzie odpowiedzialna za przechowywanie danych w bezpiecznym miejscu na serwerze. Usługę będę hostował na linuxie, co umożliwia nowy .NET Core i serwer Kestrel. Do niedawna wydawało się niemożliwe wdrożenie aplikacji opartej o .NET na platformie innej niż Linux. Obecnie to działa bardzo dobrze i na pewno w przyszłości opiszę proces tworzenia i wdrożenia aplikacji .NET na Linuxie. Bardzo lubię opisywać wymagania dla aplikacji w języku Gherkin. Plan na najbliższy sprint opisany w języku Gherkin wygląda następująco:

Konferencja MeeTTech w Pile

W ostatnich kilku latach programowanie stało się tak popularne, że w wielu polskich miastach są organizowane konferencje poświęcone temu tematowi. Na przykład konferencja 4Developers w Warszawie przyciągnęła w tym roku 1800 uczestników. Co więcej, organizatorzy planują jesienią tego roku dodatkową edycję w Gdańsku. Czy warto jeździć na konferencje programistyczne? Uważam, że zdecydowanie tak. Dlaczego? Bo można posłuchać jak bardziej doświadczeni programiści projektują architekturę swoich systemów i rozwiązują skomplikowane zadania. Dodatkowo można podpatrzeć z jakich narzędzi korzystają w celu usprawnienia pracy programisty albo w celu szybszego wdrażania aplikacji na środowisko produkcyjne. Chciałbym dzisiaj zaprosić Was do udziału w konferencji w mniejszym mieście - na przykład w Pile. Konferencja programistyczna MeeTTech środa 12.04.2017, godzina 18:00 Inwest Park ul. Dąbrowskiego 8, 64-920 Piła Oto budynek pilskiej spółki Inwest Park w którym odbędzie się konferencja: Za ...

Podsumoweanie pierwszego sprintu.

Dziś szybkie podsumowanie sprintu. Generalnie prace polegały na testowaniu funkcjonalności zaimplementowanej już przeze mnie. Aplikacja działa prawidłowo, zgodnie ze scenariuszami Gherkin. Dane użytkownika konta google chcę wykorzystać do tego aby zapisywać pomiary każdego użytkownika, co pozwoli użytkownikom na śledzenie swoich postępów. Wybrałem gotowy system logowania google zamiast samodzielnie implementować mechanizm rejestracji, zmiany hasła, logowania. Nie chcę też przechowywać wszystkich danych użytkowników a jedynie ich pomiary, które będziemy prezentować na wykresach. Do zaimplementowania były scenariusze: # language: pl Właściwość: Jako użytkownik aplikacji mobilnej chcę ekran logowania aby mieć możliwość zapisywania swoich postępów Scenariusz: Prawidłowe logowanie do aplikacji Mając aktywne konto google Jeśli na ekranie logowania podam swój login i hasło I zatwierdze dane odpowiednim przyciskiem Wtedy będę miał dostęp do wszystkich funkcjonalności aplikac...

dot net core i ciągłe wdrażanie aplikacji w VSTS

Dzisiaj opowiem o tym jak możemy skonfigurować ciągłe wdrożenie naszej aplikacji za pomocą Visual Studio Team Services. Moim celem będzie automatyzacja procesu wdrożenia aby przebiegał on w następujący sposób: 1. Programista wykonuje zmianę w kodzie i wysyła swoje zmiany do repozytorium git 2. Serwer ciągłej integracji wykrywa zmianę w systemie git i wykonuje następujące czynności: - pobranie projektu z gita - zbudowanie projektu - ewentualne uruchomienie testów jednostkowych, integracyjnych i systemowych - przygotowanie projektu do umieszczenia na docelowym serwerze - skopiowanie projektu na docelowy serwer. Naszym celem jest ograniczenie pracy programisty do punktu pierwszego. Cała reszta, tj. punkt 2 zostaje wykonana przez serwer ciągłej integracji. Serwerem tym może być Jenkins, TeamCity, albo VSTS. O tym właśnie dzisiaj opowiemy. Co należy zrobić aby go skonfigurować? Po pierwsze wejść tu: https://www.visualstudio.com/pl/ Na początku konfigurujemy projekt, dodajemy...

Perfect Life - pierwsze demo

Dotychczas pisałem o wymaganiach, historiach użytkownika i o scenariuszach. Dzisiaj jednak pokażę jak wygląda aplikacja. Kiedyś miałem problem. Tworzyłem wiele projektów, które pochłonęły mnóstwo mojego czasu ale ostatecznie nigdy nie ujrzały światła dziennego. Dlaczego? Ponieważ sądziłem, jest za wcześnie a aplikacja musi być dopracowana do perfekcji aby można było ją zaprezentować światu. Jakiś czas temu przeczytałem książkę Lean Startup: Po lekturze tej książki zrozumiałem, że można od samego początku, dosłownie od pierwszego dnia tworzenia aplikacji, publikować ją w sieci. Co więcej - można pobierać opłaty za korzystanie z niego. Brzmi to zaskakująco, ale takie rozwiązania istnieją na rynku. Co zyskamy? Zysk będzie taki, że możemy od pierwszego dnia zbierać feedback od użytkowników naszej aplikacji oraz mamy gwarancję, że prędzej czy później nasz produkt będzie dostępny dla szerszego grona odbiorców. Postanowiłem więc, że od pierwszego dnia swojego życia, aplikacja mobil...

WebDriver - 2 triki, które zaoszczędzą kilka godzin Twojego czasu.

Osoby, które pracują ze mną na co dzień doskonale wiedzą, że jestem wielkim fanem testów automatycznych. Ostatnio w pracy napotkałem kilka ciekawych przypadków, którymi chciałbym się dziś z Wami podzielić. Na początek przypomnijmy poziomy testowania: 1. Testy jednostkowe 2. Testy integracyjne 3. Testy Systemowe O ile testy jednostkowe są prawie zawsze stosowane przez programistów, o tyle dwa pozostałe poziomy są czasami zaniedbywane. Dzisiaj skupiamy się na testach systemowych. Można je robić ręcznie klikając, wpisując i czytając co pokazuje nam przeglądarka www. Można też zautomatyzować cały ten proces. I do tego właśnie służy WebDriver. Pokażę w tym wpisie dwa triki, które pomogą Ci zaoszczędzić sporo czasu jeśli programujesz testy akceptacyjne w środowisku .NET(C#) z wykorzystaniem biblioteki Selenium WebDriver. Mam coś dla osób chcących zwiększyć swoje umiejętności w temacie programowania testów systemowych w WebDriverze: http://toolsqa.com/selenium-c-sharp/. Szczeg...

Specflow czyli BDD w praktyce

Dzisiaj pokażę w praktyce w jaki sposób zbieram wymagania korzystając z narzędzia Specflow. Na początku przypomnę nasze historie użtkownika. Potem skonfigurujemy dodatek Specflow Visual Studio. Na końcu pokażę jak wygląda język Gherkin i zaimplementujemy pierwszą historię użytkownika US1. Oto lista funkcjonalności, które będę implementował w aplikacji Perfect Life: US1: Jako użytkownik aplikacji mobilnej chcę ekran logowania aby mieć możliwość zapisywania swoich postępów US2: Jako użytkownik aplikacji mobilnej chcę mieć kalkulator wskaźnika BMI aby móc mierzyć poziom swojej kondycji US3: Jako użytkownik aplikacji mobilnej chcę widzieć wykresy aby móc wizualnie interpretować swoje postępy US4: Jako użytkownik aplikacji mobilnej chcę mieć możliwość rozwiązania quizu, żeby zbadać wskaźnik Body Age US5: Jako użytkownik aplikacji mobilnej chcę pobierać pliki PDF aby mieć dostęp do planów dietetycznych US6: Jako administrator aplikacji chcę zapisywać dane telemetryczne aby móc an...