Devpost#12 Czas na własny projekt! Aplikacja webowa

Zanim jeszcze przejdę do właściwej części tego wpisu, wspomnę tylko, dlaczego zdecydowałem na zmianę języka treści z angielskiego na polski. Ostatnio mój czas po pracy jest mocno ograniczony, a pisanie po angielsku nie jest dla mnie jeszcze na tyle naturalne, aby tworzyć teksty w czasie, który by mi na nie pozostał w ciągu dnia. Jako, że rozpocząłem pracę nad swoim własnym projektem po godzinach, chciałem mieć spisaną historię jak to powstawało i z czym się borykałem. Dlatego też, pomyślałem o powrocie do ojczystego języka: żeby było szybciej, móc dokładniej wyrazić emocje i problemy, a przy okazji brakowało mi takiego zwykłego pisania.

Decyzja

Jak wspomniałem wyżej, postanowiłem napisać swoją aplikację webową. Oczywiście, nie będzie to projekt komercyjny. Moja wiedza nadal jest bardzo podstawowa, jednak pozwala już na pisanie rzeczy odrobinę bardziej zaawansowanych niż kalkulator. Skąd ten pomysł? Ano dlatego, że przechodzenie tutoriali to nie jest droga dla mnie. Muszę mieć świadomość, że tworzę coś, z czego w razie potrzeby dałoby się skorzystać i znalazłby się chociaż jedna osoba, która mogłaby tego używać. Bez poczucia realnej przydatności, nie potrafię utrzymać zapału do pracy nad daną rzeczą. Postanowiłem napisać projekt, który ma być głównie moim środowiskiem do nauki i poszerzania wiedzy w dziedzinie wytwarzania oprogramowania.

Założenia

Projekt ma być pełnoprawną aplikacją webową, która będzie napisana od początku do końca. Od momentu logowania, do użycia dostępnych funkcjonalności. Odbiorcą są właściciele mieszkania na wynajem. Konkretnie Ci, którzy mają ich kilka, kilkanaście lub więcej. Celem jest to, aby ułatwić zarządzanie mieszkaniami oraz usprawnić kontakt z najemcami. 

Na ten pomysł, wpadłem mieszkając przez jakiś czas w Łodzi, gdzie wynajmowałem mieszkanie od Pana Dawida, który notabene jest bardzo w porządku gościem. Dawid miał około trzydziestu mieszkań, nieraz zastanawiałem się jak on to sam wszystko ogarnia. Wtedy to, zakiełkował pomysł, że przydałoby mu się rozwiązanie, które by go odrobinę odciążyło. Temat przygasł, na praktycznie równy rok. W sierpniu 2019, spotkałem się ze starym kumplem, gdzie przy okazji rozmowy, dowiedziałem się, że mają z ojcem kilka mieszkań, w których wynajmują pokoje dla studentów. Szybko dowiedziałem się też, że w związku ze sporą ilością najemców, pojawia się też dużo spraw, z którymi piszą do mojego kumpla bezpośrednio na na facebooka. Jak łatwo się domyślić, w taki sposób ciężko mieć kontrolę nad wszystkimi zgłoszeniami i sprawami od najemców. No i wtedy już wiedziałem, co chciałbym zrobić.

Pomysł dojrzewał przez następne parę miesięcy. Pierwsze prace, mocno koncepcyjne rozpocząłem w ‎piątek, ‎22 ‎listopada ‎2019, ‏‎00:34:02. Wybrałem gotowy, prosty template Admina zrobiony na bootstrapie 4 i zacząłem rzeźbić. Przede wszystkim wiedziałem, że nie mogę dać się za bardzo ponosić fantazji i mierzyć siły na zamiary. Niestety, łatwo wymyślić super rzeczy, których finalnie nie zrealizujemy, bo nas przerosną. Po prawie tygodniu rozpisywania założeń i pracy nad makietą, miałem stworzony plan na MVP aplikacji. 

Baza danych

Na tym etapie, miałem dość sporą zagwozdkę jak zaprojektować bazę danych, szczególnie, że na razie działam na mySQL. Dlatego też, musiałem stworzyć możliwie cały model bazy, przed przystąpieniem do pracy z kodem. Podczas rzeźbienia modelu, dość mocno zmieniłem koncept działania mieszkań i pokoi. Gryzła mi się opcja, dodawania mieszkań, mieszkań z pokojami, przypisywaniem userów do danego mieszkania / pokoju. Było z tym trochę zabawy, na szczęście pewien kumpel, pomógł mi spojrzeć na to nieco inaczej, żeby za bardzo nie przekombinować. Wciąż też pracuję nad abstrakcyjnym podejściem do tworzenia kodu z podziałem na widok, model i kontrolery. Do tej pory są widoczne postępy także nie jest źle. 

Aktualne prace 

Na ten moment, mam już zaimplementowane:

  • widok i obsługę logowania do aplikacji
  • trzy wersje językowe: polski, angielski oraz rosyjski  
  • widok i walidację danych formularza dodawania mieszkań

Dziś, 29.12.2019, chciałbym dokończyć funkcję Dodaj mieszkanie, czyli obsługa wstawiania mieszkania do bazy. Po tym, następnym krokiem będzie Lista mieszkań. Tutaj postawiłem sobie ambitny cel, napisania całej paginacji samodzielnie, zobaczymy, co z tego wyjdzie.

Leave a Reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *