Dogevents – Geneza
Jestem psiarzem
Wszystko zaczęło się w maju 2011 a dokładniej po weekendzie majowym. W moim życiu pojawił się taki oto jegomość (prawdopodobnie ktoś porzucił go na majówkę). Od tamtej chwili sporo zacząłem się kręcić wokół psich tematów. Szkolenia, psie sporty, behawiorystyka, tropienie użytkowe. Dziś trochę się zmieniło, rodzina się powiększyła, czasu zdecydowanie mniej ale zainteresowanie tą dziedziną pozostało.
Dexter kiedyś i dziś |
Dogevents
Zamysł projektu Dogevents – czyli czegoś co ma dostarczać informacji o psich wydarzeniach pojawił się 2-3 lata temu. Założenie było proste, zebrać wydarzenia udostępnianie na grupach facebook’owych w przystępnej do przeglądania formie. Powstała nawet szybka implementacja tego pomysłu, jednak nie przetrwała próby czasu. Pierwsze rozwiązanie to była aplikacja konsolowa, która zbierała wydarzenia, wrzucała do bazy i następnie produkowała plik xml, który z pomocą jQuery + HTML wyświetlał je w postaci kafelek. Nie było tam żadnego backendu. Na hostingu znalazło się dokładnie kilka statycznych plików.
Dogevents, pierwotna wersja 2014r |
Było to bardzo proste rozwiązanie. Byłem zdziwiony, że jQuery jest w stanie przetwarzać plik xml, filtrować węzły itp. Poniżej część kodu realizująca pobieranie danych z pliku xml, który pobierany był asynchronicznie $.ajax.get
var events = $(xml).find("Event").filter(function () {
var evtStartTime = new Date($('StartTime', this).text());
var evtEndTime = new Date($('EndTime', this).text());
return (evtStartTime.getFullYear() == year && evtStartTime.getMonth() + 1 == month);
});
Comeback 2017
W raz z kolejną edycją DSP powrócił pomysł ponownej realizacji tego projektu. Posiedziałem, pomyślałem co wtedy poszło nie tak i mam w głowie nowy plan działania. Zebrałem również opinie, wymagania od potencjalnych użytkowników. Aspekt technologiczny i biznesowy opiszę w kolejnym poście. Już teraz mogę powiedzieć (żadna to tajemnica gdyż trzeba było podać w formularzu rejestracji do DSP2017), że projekt zostanie wykonany z użyciem asp.net core oraz Vue.js