Zrealizuj jeden z podanych wariantów aplikacji webowej FizzBuzz.
Gdy użytkownik wchodzi na stronę główną widzi formularz do wpisania liczby oraz przycisk 'Odpowiedz'.
Po wpisaniu liczby i wciśnięciu 'Odpowiedz' użytkownik otrzymuje odpowiedź:
- 'fizz' jeśli dana liczba jest podzielna przez 3
- 'buzz' jeśli liczba jest podzielną przez 5
- 'fizzbuzz' jeśli liczba jest podzielna przez 3 i 5
- wpisaną liczbę w pozostałych przypadkach
- Obliczenie powinno odbywać się po stronie serwera.
- Zapytanie do serwera powinno zostać zrealizowane za pomocą metody POST.
- Dozwolone są jedynie liczby całkowite z zakresu <1,100>.
- Aplikacja powinna wyświetlić odpowiedni komunikat w przypadku nieprawidłowych danych.
- Rozwiązanie umieść w repozytorium kodu i udostępnij prowadzącemu do odczytu (istolarska)
Przygotuj endpoint przyjmujący zapytanie wysyłane metodą POST w formacie JSON:
{
„number”: <int>
}
W przypadku przesłania prawidłowych danych endpoint API powinien zwrócić status odpowiedzi HTTP 200 OK z zawartością w formacie JSON:
{
'answer': <string>
}, gdzie::
answer - odpowiedź serwera przyjmująca wartości:
- 'fizz' jeśli dana liczba jest podzielna przez 3
- 'buzz' jeśli liczba jest podzielną przez 5
- 'fizzbuzz' jeśli liczba jest podzielna przez 3 i 5
- wysłaną liczbę w pozostałych przypadkach
Dozwolone są jedynie liczby całkowite z zakresu <1,100>.
W przypadku nieprawidłowych danych, endpoint API powinienzwrócić status HTTP 400 Bad Request z zwartością w formacie JSON:
{
'error': <string>
}, gdzie:
error - szczegóły błędu
Rozwiązanie umieść w repozytorium kodu i udostępnij prowadzącemu do odczytu (istolarska)
Projekt rozgrzewka jest realizowany przez pierwsze dwa zajęcia.
Celem projektu jest poznanie systemu kontroli wersji Git oraz środowiska pracy dla projektów WWW realizowanych w technologii .NET.
Projekt jest realizowany w dwóch etapach.
Kod powinien być realizowany na zewnętrznym systemie kontroli wersji (projekt prywatny na dev.azure.com/gitlab.com/bitbucket.org) i udostępniony prowadzącemu do odczytu.
Ostateczna wersja projektu powinna zostać opublikowana w systemie CEZ.
Szczegóły punktacji (6 punktów):
- realizacja logiki z zajęć nr 1- 1.5pkt
- obsługa błędów - 1pkt
- realizacja modyfikacji z zajęć nr 2 - 1.5pkt
- użycie git-a - 2pkt (1 pkt za systematyczne dodanie zmian z każdych zajęć)
- Punkty nie zostaną przyznane w przypadku stwierdzenia braku samodzielności w realizacji projektu.
- W przypadku opóźnienia w realizacji zadania liczba punktów zmniejsza się o połowę za każdy tydzień opóźnienia.
Po wpisaniu liczby i wciśnięciu 'Odpowiedz' użytkownik otrzymuje odpowiedź
- "wizz" jeśli dana liczba jest podzielna przez 7
- "fizzwizz" jeśli dana liczba jest podzielna przez 3 i 7
- "buzzwizz" jeśli dana liczba jest podzielna przez 5 i 7
- "fizzbuzzwizz" jeśli dana liczba jest podzielna przez 3, 5 i 7 Zrealizuj podane zadanie w sposób umożliwiający prostą rozbudowę programu o kolejne przypadki.
Każde wyszukiwanie oraz odpowiedź serwera powinna być rejestrowane w bazie danych wraz z IP, z którego zostało wysłane zapytanie.
(Podpowiedź: użyj HTTP_X_FORWARDED_FOR i REMOTE_ADDR zapisanych w obiekcie Request).
W projekcie umieść plik README z imieniem i nazwiskiem autora rozwiązania oraz linkiem do repozytorium.
Rozwiązanie umieść w repozytorium kodu i udostępnij prowadzącemu do odczytu (istolarska).
Rozwiązanie umieść w systemie CEZ.