Projekt Informator

Informator to kolejny większy projekt (po Pogodynce), który będę realizował na blogu. Moim celem jest zaimplementowanie gotowego webservice’u, który przy pomocy REST API będzie zwracał dane w formacie JSON. Projekt będę tworzył w oparciu o biblioteki Spring i Hibernate.

Czym będzie Informator

Informator to projekt, którego głównym celem będzie napisanie webservice’u. Webservice ten będzie miał za zadanie informować o szczegółach konferencji infoShare 2018. Informator za pośrednictwem protokołu HTTP będzie udostępniał dane o wydarzeniu w formacie JSON. Planuję, że będzie on zawierał trzy niezależne “endpoint’y”:

  • prelegenci,
  • wykłady/rozmowy/wydarzenia,
  • sceny.

Samouczek Programisty jest jednym z partnerów konferencji infoShare 2018.

infoShare 2018 to konferencja technologiczna odbywająca się 22-23 maja w Gdańsku. Na developerów czekają m.in. prelekcje z obszaru cybersecurity i machine learning, live coding oraz spotkania ze specjalistami, takimi jak: Filip Wolski, Trent McConaghy, Piotr Konieczny, Zbigniew Wojna czy Scott Helme. infoShare to także okazja do networkingu i udziału w imprezach towarzyszących. Sprawdź agendę i zarejestruj się na www.infoshare.pl.

Prelegenci

Endpoint ten będzie zwracał szczegóły dotyczące prelegentów. Dzięki niemu będzie można dowiedzieć się czegoś więcej o prowadzących.

Wykłady, rozmowy, wydarzenia

Endpoint ten będzie zwracał informacje na temat wydarzeń, które będą miały miejsce w trakcie konferencji. Poza opisem zwracał będzie także informacje takie jak miejsce i czas wydarzenia. Dodatkowo będzie udostępniał informacje o prelegentach/uczestnikach danego wydarzenia.

Sceny

Dzięki temu endpoint’owi będzie można poznać grafik obowiązujący na każdej ze scen.

Architektura i wdrożenie projektu

Ze strony architektonicznej nie jest to skomplikowany projekt. Wręcz przeciwnie, to aplikacja webowa, która wyłącznie serwuje dane zapisane w bazie danych. Celowo nie planuję udostępnienia funkcjonalności modyfikowania czy usuwania danych. Baza danych zasilona będzie statycznymi danymi. Dzięki takiemu podejściu nie muszę implementować mechanizmu uwierzytelniania i autoryzacji. Także walidacja danych wejściowych będzie ograniczona.

Aplikację chcę uruchomić w chmurze. Nie zdecydowałem się jeszcze na konkretnego dostawcę. Na tym etapie nie chcę podejmować decyzji, którego dostawcę wybrać ;). Możliwe, że będzie to Heroku lub Google Cloud.

Prowadzenie projektu

Podobnie jak w przypadku Pogodynki założyłem specjalną listę zadań na Trello. Lista ta będzie ewoluowała w czasie, aktualnie zawiera podstawowe zadania niezbędne do realizacji. Dzięki tej liście i repozytorium kodu na bieżąco będziesz mógł śledzić postęp prac nad projektem.

Zależy mi na uruchomieniu tego projektu do końca kwietnia. Mam nadzieję, że uda mi się dotrzymać terminu, który sobie narzuciłem. Trzymaj kciuki ;).

Testy

Oczywiście projekt zawierał będzie testy jednostkowe, które będą skupiały się na poszczególnych komponentach. Dodatkowo planuję napisać testy integracyjne, które będą sprawdzały poprawność działania mapowania obiektowo-relacyjnego. Założeniem tych testów będzie tworzenie nowej instancji bazy danych w pamięci przed uruchomieniem każdego testu.

Planuję także stworzenie zestawu testów integracyjnych. Utworzę je używając SoapUI. Dzięki takiemu podejściu będę miał kompletny zestaw testów automatycznych potwierdzających poprawność działania aplikacji.

Podsumowanie

Projekt Informator jest w powijakach, dopiero zacząłem nad nim pracę. Mam nadzieję, że tym krótkim artykułem zachęciłem Cię do śledzenia rozwoju projektu. Narzędzia i biblioteki, których użyję w trakcie pracy nad Informatorem są bardzo często wykorzystywane w projektach produkcyjnych.

Mam nadzieję, że artykuł przypadł Ci do gustu. Jeśli nie chcesz pominąć kolejnych artykułów na blogu dopisz się do samouczkowego newslettera i polub Samouczka na Facebooku. Do następnego razu!

Pobierz opracowania zadań z rozmów kwalifikacyjnych

Przygotowałem rozwiązania kilku zadań z rozmów kwalifikacyjnych. Rozkładam je na czynniki pierwsze i pokazuję różne sposoby ich rozwiązania. Dołącz do grupy ponad 1800 Samouków, którzy jako pierwsi dowiadują się o nowych treściach na blogu, a prześlę je na Twój e-mail.

Zostaw komentarz