Spis treści

Javalin - Zadania dla studentów

Instrukcje ogólne

Poniżej znajduje się zestaw zadań do samodzielnego wykonania. Zadania są podzielone na trzy poziomy trudności:

Dla każdego zadania:


Poziom 1 - Zadania łatwe

Zadanie 1.1: Calculator API

Opis: Utwórz API, które przyjmuje dwie liczby i operację (dodawanie, odejmowanie, mnożenie, dzielenie) i zwraca wynik.

Wymagania:

Podpowiedź:


Zadanie 1.2: Echo Server

Opis: Utwórz serwer, który odbiera tekst i go powtarza.

Wymagania:

Podpowiedź:


Zadanie 1.3: Time Server

Opis: Utwórz endpoint, który zwraca aktualny czas i datę.

Wymagania:

Podpowiedź:


Zadanie 1.4: Counter API

Opis: Utwórz API licznika, który można zwiększać i resetować.

Wymagania:

Podpowiedź:


Zadanie 1.5: Hello World Widget

Opis: Utwórz prostą stronę HTML z przyciskiem, który wyśle request do backendu.

Wymagania:


Poziom 2 - Zadania średnie

Zadanie 2.1: Book Library API

Opis: Utwórz API dla biblioteki książek z CRUD operacjami.

Wymagania:

Wskazówki:


Zadanie 2.2: User Registration

Opis: Utwórz system rejestracji użytkowników z walidacją.

Wymagania:

Wskazówki:


Zadanie 2.3: Article Filtering

Opis: Utwórz API do artykułów z możliwością filtrowania.

Wymagania:

Wskazówki:


Zadanie 2.4: API with Logging

Opis: Dodaj logging do dowolnego API z wcześniejszych zadań.

Wymagania:

Wskazówki:


Zadanie 2.5: Protected API

Opis: Utwórz API, które wymaga autentykacji tokenem.

Wymagania:

Wskazówki:


Poziom 3 - Zadania trudne

Zadanie 3.1: Database Integration (SQLite)

Opis: Zintegruj Javalin z bazą SQLite do trwałego przechowywania danych.

Wymagania:

Wskazówki:


Zadanie 3.2: Pagination

Opis: Zaimplementuj paginację dla API zwracającego dużą liczbę wyników.

Wymagania:

Wskazówki:


Zadanie 3.3: Multi-Language Support

Opis: Utwórz API, które zwraca wiadomości w różnych językach.

Wymagania:

Wskazówki:


Zadanie 3.4: Rate Limiting

Opis: Zaimplementuj rate limiting - ograniczenie liczby żądań na IP.

Wymagania:

Wskazówki:


Zadanie 3.5: WebSocket Chat

Opis: Utwórz prosty chat z WebSocket (opcjonalne - zaawansowane).

Wymagania:

Wskazówki:


Dodatkowe wyzwania

Zadanie Bonus 1: Full Stack Todo App

Utwórz kompletną aplikację TODO z:


Zadanie Bonus 2: RESTful API dla E-Shopu

Utwórz API dla sklepu internetowego:


Zadanie Bonus 3: Microservice Architecture

Utwórz dwa mikroserwisy komunikujące się ze sobą:


Wskazówki do rozwiązywania zadań

Ogólne:

1. Przeczytaj zadanie do końca
2. Zidentyfikuj wymagane endpoints
3. Zaplanuj strukturę (Records, kontrolery, etc.)
4. Zacznij od prostych przypadków, potem rozszerz
5. Testuj każdy endpoint w Postmanie

Obsługa błędów:

Testowanie:

Debugowanie:


Rozwiązania

Rozwiązania do wszystkich zadań będą dostępne po zajęciach.

Do każdego rozwiązania dołączony będzie opis:


Powodzenia! 🚀