Jak arkusz excel stał się aplikacją

Scan food to wielki projekt programistyczny który pomaga osobom na całym świecie utrzymać idealną sylwetkę. Tak wyobrażam sobie moją aplikację za kilka lat. Myślałem, że w ciągu 2 lat uda mi się zdobyć zainteresowanie chociaż w Polsce. Jednak, no cóż znasz scan-food?

Wszystko zaczęło się przypadkiem. Pewnego dnia obejrzałem świetny film na youtube odnośnie diety. Byłem zafascynowany nową wiedzą o tym jak ważne jest liczenie kalorii. Było to jak światło w tunelu. Przed filmem wiedziałem tylko, że słodycze tuczą. Jednak dlaczego? Na to pytanie nikt mi wcześniej nie odpowiedział tak szczegółowo. Wiedzę od razu postanowiłem wypróbować na sobie. Chcę schudnąć! Postanowiłem i nie było już odwrotu.

Kilka dni później byłem już nieco zmęczony zapisywaniem każdego posiłku na kartce. Zabrałem się do pracy nad pierwszą automatyzacją mojej diety. Arkusz excel - bo o nim mowa. Pomógł mi szybciej wpisywać produkty i automatycznie zliczać kaloryczność z całego dnia. Niestety wybieranie produktów było dość ciężkie. Aby skopiować produkt zaznaczałem cały wiersz z wszystkimi danymi i wkleiłem go do osobnego dokumentu. Często produkty które już miałem zapisane gubiły się w wielu plikach z arkuszami na każdy dzień.

Musiałem coś z tym zrobić. Zaprogramowałem pierwszą wersję aplikacji. API backendowe napisałem w PHP. Po stronie frontendu stowrzyłem tabele z danymi którą aktualizowałem za pomocą jQuery. Na dzień dzisiejszy technologia archaiczna, jednak przez kilka miesięcy sprawdzała się całkiem nieźle. Tabelka którą zaprogramowałem sprawdzała się świetnie i pomogła mi osiągnąć cel. Pozbyłem się kilku nadmiarowych kilogramów. Pomogła też rozwiązać problem zagubionych produktów. W końcu miałem pewność, że żaden produkt nie zginie.

I na tym etapie mogłaby się skończyć historia aplikacji. Jednak postanowiłem zmienić pracę. Pisząć sklepy internetowy w jQuery i MooTools nie miałem zbyt dużych szans na dobrą pracę. Dlatego też postawiłem na naukę ReactJS. Nie wiem w jaki sposób Ty uczysz się nowych technologii ale ja postawiłem na sprawdzoną technikę. ”Zrealizuj swój projekt w nowej technologii”. Dlatego też zacząłem przepisywać mój kalkulator kalorii na ReactJS, aby nauczyć się tej biblioteki. Dużym plusem było to, że miałem stworzony backend i mogłem skupić się w 100 % na tworzeniu frontendu w nowej technologii.

Gdy poznałem ReactJS zostałem zatrudniony w firmie RST Software Masters w której nadal pracuje. W pracy często spotykałem się z nowymi technologiami i dużymi wyzwaniami. Do większości wyzwań przygotowywałem się w domu pisząc aplikację scan-food. Pracując w firmie z doświadczonymi osobami poznałem RxJs, TypeScript, Workery czy React hooks. Zdobytą wiedzą lubię się dzielić, dlatego nie zastanawiałem się długo gdy Robert Zatycki zaprosił mnie na przejażdżkę dużym fiatem. Co z tego wynikło? Zobacz poniżej!

Dzięki szybkiemu poznaniu wielu nowych technologii scan-food stracił w moich oczach. Byłem bardzo zniechęcony gdy “klepałem” nowe funkcje w javascript. W końcu znałem TypeScript który bardzo przyspieszył by prace nad projektem. Jednak jak się szybko okazało migracja do TypeScript nie jest tak oczywista. Szczególnie przy dużym projekcie. Musiałem się do niej lepiej przygotować! Zabrałem się do migrowania moich innych mniejszych projektów aby wyciągnąć z tego wnioski. Obecnie jestem w trakcie migracji scan-food to TypeScript i dzięki zdobytemu doświadczeniu wszystko idzie według planu.

Jeśli jesteś w takiej samej sytuacji z swoim projektem powinieneś zobaczyć moje wystąpienie na codemeeting. Podczas przygotowywania prezentacji firma RST bardzo mi pomogła. W tym miejscu chciałem również podziękować Piotrowi Chimko który przygotowywał kilka osób z RST do roli prelegentów. Mam nadzieję że prezentacja okaże się wartościowa.

Mój własny projekt sporo mnie nauczył. Wydaje mi się, że obecnie jest na etapie w którym warto pokazać go światu. Mam jeszcze mnóstwo pomysłów do zrealizowania aby aplikacja była bardziej przydatna. Jednak już teraz oferuje wiele ważnych funkcji. Zgodnie z poznanymi technikami zwinnymi każdą funkcjonalność staram się dodawać iteracyjnie. Nie zwlekam aż funkcja będzie skończona w 100 %. Wystarczy że wygląda na skończoną. W kolejnej iteracji ją dopracuje! Praca nad scan-food pokazała mi jak trudne jest decydowanie o kolejności realizowanych zadań. Uwierzcie mi product owner ma okropną pracę.

Jeśli chcesz mi pomóc przy realizacji mojego projektu wystarczy, że pobierzesz aplikacje z sklepu play, a następnie podzielisz się swoją opinią. Jest to dla mnie bardzo ważne ponieważ chcę aby moją aplikacja przydała się kilku osobom więcej niż mi samemu. Jeśli będziesz miał pomysł na funkcjonalność której Ci brakuje pisz śmiało korzystając z formularza w zakładce kontakt!

Zamknij
O mnie Programy Prace Kursy Oferta Skontaktuj się ze mną