Postanowiłem wziąć udział w konkursie Daj się poznać. Dało mi to pretekst do otworzenia tego bloga.
Do konkursu zgłosiłem się o z projektem Star Trek API, który rozwijam na GitHubie od października 2016 r.
Star Trek API to próba uporządkowania danych na temat uniwersum Star Treka i ujęcia ich w model relacyjny, z wykorzystaniem swobodnie dostępnych w internecie źródeł. W kolejnym kroku celem jest wystawienie tych danych jako otwarte API, dostępne online. Główna faza developmentu zaczęła się, zanim zaczął się konkurs, i potrwa jeszcze po jego zakończeniu.
Głównym źródłem danych dla API jest w tej chwili Memory Alpha, hostowane na Wikii wiki dotyczące kanonicznego uniwersum Star Treka, i – w znacznie mniejszym stopniu – Memory Beta, inne wiki dotyczące uniwersum Star Treka, które gromadzi informacje o fanowskich produkcjach.
Stos technologiczny w startrekowym API to Java i Spring do kodu produkcyjnego, oraz Groovy i Spock do testów. To stos, którego używam na co dzień w pracy, a chciałem, by projekt został napisany możliwie dobrze i bez eksperymentów z technologiami. To także stos na tyle popularny, że być może w przyszłości znajdą się chętni, by ten projekt ze mną rozwijać.
Inspiracją do pójścia w kierunku stworzenia API w uniwersum Star Treka były 2 projekty, na które natknąłem się w drugiej połowie 2016 roku w sieci: SWAPI oraz Pokéapi, czyli odpowiedni API dotyczące tematyki uniwersum Star Wars i API dotyczące Pokémonów. Star Trek był franczyzą, która zawsze mnie interesowała, i upewniwszy się, że żadnego podobnego projektu nie ma jeszcze w sieci, postanowiłem rozpocząć swój.
API ma docelowo zawierać zarówno dane z prawdziwego świata, dotyczące uniwersum Star Treka, czyli aktorów, seriale, firmy pracujące przy produkcji, komisy i książki, jak i szereg fikcyjnych bytów fikcyjnych: postacie, obiekty astronomiczne, rasy występujące w serialu, statki kosmiczne czy jedzenie. W tej chwili zaplanowanych jest ok. 35 encji, ale liczba ta może być ostatecznie zarówno niższa, np. przez połączenie kilku typów książek w jedną encję, jak i większa, w związku z rozszerzaniem o kolejne źródła danych.
W momencie pisania tego postu jestem w ok. 1/3 drogi do ukończenia wersji beta, którą będzie można bez obaw udostępnić online. Na stronie Work progress na wiki można śledzić postępy prac, mierzone ilością ukończonych encji.
Kolejne posty planuję publikować, przez czas trwania konkursu, zawsze w środy i w soboty.