Moje projekty
Bikevision

Praktyczną częścią mojej pracy inżynierskiej jest projekt o nazwie Bikevision. Jest to aplikacja sieciowa stworzona w technologii ASP.NET MVC (.NET Framework). Zadaniem aplikacji jest umożliwienie przeglądania produktów z różnych kategorii, filtrowanie oraz sortowanie ich, składanie zamówień na wybrane produkty. W aplikacji jest możliwość porównywania produktów z wyszczególnieniem różnic. Po złożeniu zamówienia można wystawić opinię produktom, które zostały zakupione. Dodatkową funkcją w aplikacji jest możliwość złożenia zapytania serwisowego. Wtedy użytkownik ma możliwość kontaktu z pracownikiem serwisu poprzez system wiadomości. Więcej szczegółów na temat tego projektu w zakładce "Projekt inżynierski".
Data filtering

Mini projekt aplikacji konsolowej stworzony przy użyciu technologii .NET Core. Stworzyłem go w celach edukacyjnych, aby podszkolić swoje umiejętności w korzystaniu z LINQ (razem z Expression<>) oraz delegat (Func<>). Jak i w poprzedniej aplikacji starałem się utrzymać kod na maksymalnie czystym i czytelnym poziomie. Jego zadaniem jest przefiltrowanie wstępnie wpisanych danych według kryteriów wprowadzonych przez użytkownika. Do wyboru są: filtrowanie według kategorii, frazy zawartej w nazwie, minimalnej ilości na stanie oraz minimalnej i maksymalnej ceny produktu. Aplikacja dopuszcza dużą liczbę produktów, dlatego dodałem również własną paginację listy, dzięki której możliwe jest przechodzenie do kolejnych stron produktów. Interfejs zaprojektowałem tak, aby główny "ekran" aplikacji mieścił się na pojedynczym oknie konsoli o rozmiarach 80x25 znaków.
Simple transport manager

Projekt aplikacji konsolowej stworzony do zarządzania przedsiębiorstwem transportowym. Aplikacja powstała przy wykorzystaniu technologii .NET Core. Głównym cele stworzenia tego projektu było powtórzenie wszystkich mi znanych zagadnień z programowania w technologii .NET oraz poprawa czystości mojego kodu. Tworzyłem odpowiednio klasy z metodami tak, aby był one zgodne z zasadą "S" z dobrych praktyk SOLID. Na I roku studiów był to projekt na zaliczenie z programowania w języku Java. To właśnie przy tworzeniu tego projektu uczyłem się pisać czystszy kod. Program przy uruchomieniu pozwala na podanie ścieżki do pliku, w którym znajdują się dane. Jeżeli ścieżka nie zostanie podana, to zostanie utworzony pusty plik, w którym zostaną zapisane dane przy wyjściu z programu. W programie istnieje możliwość dodania kierowców, pojazdów, przypisywanie kierowców do pojazdów, odnotowywanie odjazdu i przyjazdu pojazdów. Istnieje również możliwość wyświetlenia list pojazdów, kierowców (wraz z sortowaniem).
The Last Chance

Projekt gry komputerowej na zaliczenie zajęć. Gra powstała w zespole czteroosobowym, przy współpracy z przyjaciółmi z grupy. Stworzyliśmy grę przy użyciu silnika graficznego Unreal Engine 4 wykorzystując do tego język zwany Blueprints. Natomiast modele 3D oraz animacje stworzyliśmy w programie Blender 3D. Gra jest utrzymana w stylistyce Low-poly. W grze wcielamy się w bohatera, który po katastrofie jego samolotu utknął na wyspie. Musi przeżyć 5 dni w trudnych warunkach stawiając czoło różnym niebezpieczeństwom. Zaimplementowaliśmy rozbudowany system metabolizmu człowieka - aby przeżyć, gracz musi jeść, pić i unikać słońca. Dodatkowo wszystkie funkcje życiowe są zależne od aktualnego pulsu bohatera. Męcząc się szybciej spalamy kalorie i wodę. Istnieje również możliwość złapania infekcji oraz skaleczenia się, co może prowadzić do wykrwawienia się, czy też poparzenia słonecznego. Dlatego gracz musi przebywać w zacienionych miejscach, dbać o pożywienie, nawodnienie i uzbroić się tak, aby móc stawić czoło dzikim zwierzętom żyjącym na wyspie. W grze występuje cykl dnia i nocy, dlatego pochodnie oraz ogniska okazują się pomocne. Gracz ma możliwość zbierania i pozyskiwania różnych materiałów i surowców na wyspie, dzięki którym może wytwarzać broń, narzędzia czy też pożywienie. Gra posiada zaimplementowany system tworzenia przedmiotów i ekwipunek. Podczas tworzenia tego projektu uczyłem się modelowania 3D, zasad korzystania z systemu wersjonowania Git i ogólnego programowania różnych zdarzeń.