Piszę w Javie, głównie aplikacje webowe zgodne z wzorcem MVC przy pomocy frameworku Spring zarówno w starszej jego wersji, jak i z użyciem konfiguratora Spring Boot. Potrafię posługiwać się modułami takimi jak Spring Data, Spring Security, Spring Cloud czy Spring Mail. Znam również technologię serwletów, JSP, tagi JSTL oraz język EL.
Większośc moich projektów komunikuje się z bazą danych MySQL. Starsze za pośrednictwem interfejsu JDBC, nowsze - biblioteki mapowania obiektowo-relacyjnego Hibernate i specyfikacji JPA.
Potrafię pisać testy jednostkowe oraz testy integracji (JUnit, EasyMock, Mockito).
Znam HTML, CSS, Bootstrap, Javascript, JQuery i system szablonów Thymeleaf.
Mam opanowaną w podstawowym stopniu architekturę JavaFX i umiem posługiwać się Scene Builderem.
Przez pewien czas używałem Eclipse (Linux, Windows) a następnie Intellij (Windows). Jako system kontroli wersji wybrałem Git, a jako build tool - Maven.
Aktualnie skupiam się na poprawieniu jakości mojego kodu - chcę aby był bardziej klarowny, zgodny z zasadami SOLID i opatrzony odpowiednią dokumentacją. Zapoznaję się też z koncepcjami TDD, DDD, wzorcami projektowymi, strukturami danych oraz algorytmami. Ostatnio zacząłem się również uczyć nowszych wersji Javy (9,10,11), Angulara i PostgreSQL.
Ta aplikacja to dziennik treningów. Głównym celem była maksymalna elastyczność struktury danych. Trening składa się z dowolnej liczby ćwiczeń, każde składające się z dowolnej liczby serii. Do treningu i każedego jego elementu można przypisać jakąkolwiek liczbę notatek tekstowych bądź plików medialnych. Treningi są serializowane do bazy danych, natomiast pliki przechowywane są w chmurze AWS.
Podstawowe kalkulatory - ogólnej siły oraz maksymalnego powtórzenia i jego procentów są dostępne od razu. Po zalogowaniu można dodawać nowe treningi oraz edytować lub usuwać istniejące. Planuję w przyszłości rozszerzyć funkcjonalność panelu administratora oraz dodać nowe kalkulatory (np. współczynnik Wilksa, dwubojowy i trójbojowy total).
Ten projekt to uproszczona aplikacja społecznościowa. Po utworzeniu konta i zalogowaniu można przeglądać wszytkie posty, dodawać własne oraz komentować. Jest dostępny panel użytkownika, a dane osobistę podlegają walidacji zarówno podczas rejestracji jak i edycji. Możliwe jest również wysyłanie i otrzymywanie prywatnych wiadomości. Wiadomości nieprzeczytane są odpowiednio wyróżnione.
Tak jak wcześniej - jest to aplikacja webowa zgodna z wzorcem MVC, a kombinacja bazy MySQL, specyfikacji JPA i frameworku Hibernate jest użyta do przechowywania danych.
Jest to strategiczna gra turowa w przeglądarce. Jesteś bossem przestępczego półświatka, a twoim zadaniem jest przejęcie wszystkich kluczowych punktów miasta Whateverville. Zasoby w grze to pieniądze, żołnierze Twojego gangu, panie lekkich obyczajów oraz dilerzy. W każdej turze możesz zaatakować któryś z punktów wroga oraz/lub zarządzać swoimi pieniędzmi i ludźmi. W turze wroga wydarzają się zdarzenia losowe oraz atakowane są Twoje punkty.
Aplikacja to projekt Mavena napisany razem z kolegą na zaliczenie bootcampu Coders Lab. Interfejs użytkownika został przez nas w dużej mierze oparty o pomysł innego kursanta - Szymona Mikołajczaka i jego projekt GEOS, który zaadaptowaliśmy do swoich potrzeb.
Ta aplikacja to katalog książek. Składa się ze stworzonego przy użyciu JS i jQuery front-endu oraz napisanego w Javie serwera.
Użytkownik może wykonać na książkach wszystkie operacje zgodne z modelem CRUD is są one kierowane do serwera poprzez zapytania AJAX używające medtod HTTP - GET, POST, PUT i DELETE. Kontroler odbiera żądania a następnie wykonuje odpowiednie operacje na bazie danych za pośrednictwem warstwy serwisowej. Odpowiedzi są przekazywane w formacie JSON. Pierwotnie bazę danych symulowała hashlista obiektów typu Book, później dodałem obsługę prawdziwej.
Ten projekt powstał gdy uczyłem się współpracy między aplikacją Java Web a bazą danych MySQL za pośrednictwem interfejsu JDBC. Amplikacja realizuje wzorzec MVC i służy do zarządzania szkołą programowania, gdzie poszczególni użytkownicy należą do grup i mają zadania, do których mogą dodawać rozwiązania.
Aplikacja posiada stronę tytułową z kilkoma ostatnio dodanymi do bazy rozwiązaniami. Jest dostępny podgląd listy grup użytkowników, z poziomu którego można uzyskać dostęp do wybranych danych użytkowników i ich list rozwiązań. Jest też jest panel administratora, gdzie możliwe są wszystkie operacje (CRUD) na grupach, użytkownikach, zadaniach i rozwiązaniach.
Ta strona powstała jako pretekst do poprawy moich, wcześniej niemal zerowych, umiejętności z zakresu front-endu.
Przy tworzeniu strony skorzystałem z wtyczki jump.js autorstwa M. Cavalei oraz karuzeli Slicebox stworzonej przez Codrops.