Witam na mojej stronie. Poniżej znajdziesz niektóre z projektów nad którymi pracowałem podczas kursu w CodersLab oraz po jego ukończeniu.

Słowem wstępu

Serwerem projektów jest dość leciwy laptop wskutek czego nie zawsze wszystko działa od razu, więc niekiedy trzeba wykazać się odrobiną cierpliwości i w razie problemów spróbować odświeżyć stronę kilka razy.

Jeśli serwer nie odpowiada w ogóle - prawdopodobnie zawiódł niestety mój dostawca internetu, co zdarza mu się bardzo często. Zwykle za kilka godzin wszystko jest już ok.

Wypożyczalnia aut

Projekt prostej wypożyczalni, napisany jako praca zaliczeniowa pod koniec kursu CodersLab. Użytkownik może po założeniu konta robić rezerwacje samochodów wraz z potrzebnymi dodatkami, a także edytować je lub anulować (tylko jeśli jest to możliwe, czyli np. rezerwacja musi być aktywna a jej początek / koniec nie mogą mieć miejsca w przeszłości). Administrator może przeglądać oraz dowolnie edytować i usuwać tak użytkowników, jak i ich rezerwacje, a także włączać / wyłączać dostępne dla rezerwujących dodatki oraz dodawać nowe.

Wykorzystane technologie to m. in. Spring, Hibernate, MySQL, Lombok.

Konto przykładowego użytkownika: login: ala@ala.pl hasło: ala

Konto administratora: login: admin@admin.pl hasło: admin

Przejdź do projektu

Twatter

Projekt serwisu podobnego w swej funkcjonalności do popularnego Twittera. Użytkownik może bez zalogowania przeglądać tweety i komentarze napisane przez innych użytkowników, a po rejestracji - pisać własne (długość tweeta oraz komentarza jest ograniczona do, odpowiednio, 280 oraz 60 znaków) oraz je edytować (przez 2 godziny od napisania). Użytkownicy mogą ładować do bazy danych pliki graficzne o wielkości do 1MB, które będą wykorzystywane jako ich avatary wyświetlane obok zamieszczanych wpisów, a także wysyłać sobie wzajemnie wiadomości (nie można wysłać wiadomości samemu sobie). Administrator może natomiast dowolnie edytować oraz usuwać tak użytkowników, jak i ich wpisy/wiadomości. Obsługiwana jest paginacja, można również ustawić ilość wiadomości na stronę.

Wykorzystane technologie to m. in. Spring Data, Hibernate, MySQL, JavaScript.

Konto przykładowego użytkownika: login: Basia hasło: Basia (loginy/hasła do innych kont wyglądają podobnie)

Konto administratora: login: admin hasło: admin

Przejdź do projektu

Warsztat 4

Celem warsztatu jest napisanie pełnej i funkcjonalnej aplikacji frontendowej do katalogowania książek metodą REST. Projekt składa się z dwóch części: przygotowany wcześniej serwer implementuje klasę Book mającą swój identyfikator, isbn, tytuł, autora, wydawcę i gatunek, natomiast warstwa kliencka, napisana w HTML-u oraz JavaScripcie, komunikuje się z serwerem za pomocą AJAX i po najechaniu myszką na element zawierający tytuł książki pobiera w formacie JSON dane o książce a następnie wyświetla je poniżej.

Wykorzystane technologie to m. in. JavaScript, jQuery, AJAX, JSON, REST.

Przejdź do projektu

Warsztat 5

Celem warsztatu jest jest napisanie funkcjonalności backendowej do katalogowania książek metodą REST z poprzedniego warsztatu. Do stworzenia API wykorzystałem Spring MVC, bibliotekę Jackson oraz dodatkowe adnotacje. Warstwa kliencka, napisana w HTML-u oraz JavaScripcie, tak jak poprzednio, komunikuje się z serwerem za pomocą AJAX i po najechaniu myszką na element zawierający tytuł książki pobiera w formacie JSON dane o książce a następnie wyświetla je poniżej. Dane trzymane są w pamięci ulotnej.

Możliwości serwera rozszerzyłem, za pomocą Hibernate i Spring Data, o możliwość zapisu książek do bazy danych znajdującej się na dysku - dzięki temu dane nie są tracone podczas każdego restartu serwera. Użytkownik może swobodnie przełączać się pomiędzy pamięcią ulotną a bazą danych.

Wykorzystane technologie to m. in. JavaScript, AJAX, REST, Spring MVC.

Przejdź do projektu

Warsztat 3

Celem warsztatów jest napisanie obiektowej, bazodanowej warstwy aplikacji dla szkoły programowania oraz webowej warstwy dostępu do niej. Domyślnie działamy tu na koncie administratora który może przeglądać użytkowników oraz dodane przez nich do bazy rozwiązania, a take te rozwiązania i użytkowników edytować. Może również tworzyć nowe grupy, zadania i konta użytkowników.

Wykorzystane technologie to m. in. JDBC, servlety, JSP, MySQL.

Przejdź do projektu