Moje projekty

W ciągu swojej kariery programistycznej brałem udział w wielu projektach komercyjnych (w ramach pracy zawodowej). Od wielu lat dodatkowo tworzę własne aplikacje, gdyż sprawia mi to ogromną przyjemność. Poniżej znajdziesz listę aplikacji, które zostały stworzone od początku do końca przeze mnie i zostały wypuszczone na rynek. Miały swoich użytkowników oraz zarabiały pieniądze (oprócz easyRenti, gdyż z tym programem dopiero zaczynam). W między czasie rozpoczynałem inne projekty, które nie zostały zrealizowane, także ich na tej liście nie ma.

BodyArchitect (2010 – 2020)

Logo BodyArchitect

Jest to (a raczej była) aplikacja dla osób ćwiczących na siłowni. Umożliwiała prowadzenie dziennika treninigowego, tworzenie planów treningowych, interakcję użytkowników między sobą. W późniejszych latach dodałem moduł dla trenerów personalnych, którzy mogli prowadzić dzienniki dla swoich klientów itp.

Na stronie KomputerSwiat.pl znajdziesz artykuł opisujący możliwości programu.

Aplikacja składała się z następujących komponentów:

  • Aplikacja desktopowa – podstawowy element systemu, udostępniający wszystkie funkcje programu. Pierwsza wersja napisana była z wykorzystaniem Windows Forms, druga to już WPF.
  • Web Service – część serwerowa z całą logiką biznesową. Wszystkie aplikacje klienckie łączyły się z tym modułem. Do komunikacji wykorzystałem WCF i SOAP.
  • Aplikacja na WindowsPhone – w związku z tym iż wszystkie aplikacje, które stworzyłem, napisałem także na własny użytek, a miałem telefon z Windows Phone, to naturalną decyzją było stworzenie klienta na ten system. Była to rozbudowana aplikacja, z trybem Offline (na siłowni, gdzie ćwiczyłem, często nie było zasięgu) i z atrakcyjnym UI. Wątek tej aplikacji jest na tyle ciekawy, iż w przyszłości pewnie powstanie osobny artykuł, w którym podzielę się swoimi przemyśleniami odnośnie tej platformy.
  • Aplikacja na Androida – w pewnym momencie życia zmieniłem telefon z Windows Phone na Androida, także ten teges… powstała aplikacja. Funkcjonalnie 1 do 1 z tym co było na WP7.
  • Landing page – strona internetowa BodyArchitect Online, która była dostępna pod adresem http://bodyarchitectonline.com (obecnie strona nie działa) . Do jej stworzenia wykorzystałem CMS Joomla.
  • Aplikacja na iOS – jest to jedyny element całego systemu, który był stworzony przez zewnętrzną firmę. Funkcjonalnie uboższa od wersji Android/WP7.

Po zamknięciu aplikacji, udostępniłem źródła:

https://github.com/robocik/BodyArchitect

https://github.com/robocik/BodyArchitect-Android

easyWSDL (2014 – obecnie) – https://easywsdl.com

Logo easyWSDL

Jest to aplikacja służąca do generowania kodu umożliwiającego komunikację z web serwisami SOAP, czyli coś ala opcja Add Services… w Visual Studio. Podajemy link do pliku WSDL, a program wygeneruje nam klasy, które dodane do naszego projektu, umożliwiają komunikację. Obsługiwane języki i platformy to:

  • Android (java)
  • Java
  • Objective-C
  • Swift
Strona ustawień generatora easyWSDL
Strona ustawień easyWSDL

Pomysł na program pojawił się podczas pracy nad klientem na Androida dla BodyArchitect. Serwer tej aplikacji wykorzystuje protokół SOAP, a niestety na platformy mobilne Android i iOS nie było (i z tego co wiem nadal nie ma) dobrze działającego generatora. Jest parę projektów open source, które obsługują bardzo proste przypadki, jednak w większości produkcyjnych serwisów, owe narzędzia nie działają.

Gdy udało mi się ogarnąć komunikację w swoim programie (i widząc ile to wymaga pracy), postanowiłem pomóc innym programistom. Wtedy powstała pierwsza wersja easyWSDL, która do dnia dzisiejszego jest rozwijana i zdaniem większości programistów, którzy zmierzyli się z problemem komunikacji SOAP w aplikacji mobilnej, jest to najlepsze narzędzie na rynku. Z głosem ludu nie będę polemizować 😉

Dodatkowo stworzyłem plugin do IDE Android Studio/IntelliJ, który znacznie ułatwia korzystanie z generatora.

easyWSDL - plugin
easyWSDL – plugin

Jeśli chodzi o użyte technologie to:

  • ASP.NET
  • Razor do generowania kodu
  • Java (plugin IntelliJ/Android Studio)
  • Sql Server
  • PayPal
  • Azure
  • NHibernate

Projekt rozpocząłem od .NET Framework 4 i na bieżąco aktualizowałem do najnowszej wersji (obecnie jest to .NET 6).

easyRenti (2021 – obecnie) – https://easyrenti.pl

Logo easyRenti

Jest to obecnie najmłodsze „dziecko”. Pomysł pojawił się, gdy zacząłem wynajmować swoje mieszkanie i zauważyłem, że śledzenie wszystkich opłat (ile i kiedy), czy najemca ma nadpłatę za wodę, a jeśli nawet, to czy w przypadku, gdy jest niedopłata do prądu, to ma coś jeszcze mi zapłacić? Gdy jesteśmy właścicielami jednego mieszkania to można jeszcze to w miarę łatwo ogarniać. Jednak przy większej ilości, sprawa mocno się komplikuje.

Ekran główny easyRenti
Ekran główny easyRenti

Użyte technologie

  • Blazor (WASM)
  • ASP.NET Core (.NET 6)
  • Sql Server
  • Azure
  • NHibernate
  • PWA

RestVerifier (2022 – obecnie) – https://github.com/robocik/RestVerifier

Logo RestVerifier
RestVerifier

Projekt Open Source, który służy do testowania warstwy komunikacyjnej w naszym projekcie. Pierwszą wersję stworzyłem na własne potrzeby (migracja dużego projektu z .NET Framework 4.8 -> .NET 6). Opisuje to dokładniej w tym artykule.

Dość szybko zauważyłem, że sama biblioteka ma dużo szersze zastosowanie i postanowiłem wtedy ją udostępnić światu 😉

Użyte technologie

  • C#
  • ASP.NET Core

Na blogu znajdziesz relację z rozwijania tej aplikacji. Analizę podjętych decyzji oraz sposób implementacji ciekawych rozwiązań, które przydadzą się w innych aplikacjach SaaS.

Dodatkowo, jeśli chciałbyś używać easyRenti do zarządzania wynajmem, daj znać na info@easywsdl.com.