TZT - Laboratorium 5 Express.js, ioredis, kompleksowa obsługa bazy

Transkrypt

TZT - Laboratorium 5 Express.js, ioredis, kompleksowa obsługa bazy
TZT - Laboratorium 5
Express.js, ioredis, kompleksowa obsługa bazy
Zadanie 1 – bardziej kompleksowa obsługa danych w bazie
W zadaniu 4 z laboratorium 2, treść poniżej dla przypomnienia:
Zadanie 4 – tablice asocjacyjne
Tworzymy w Redis tablice asocjacyjne zawierające informację o dwóch studentach. Nazwa kluczy
powinna zawierać numer indeksu danego studenta. Informacje o każdym studencie, przykładowe:
• imie → „Jan”
• nazwisko → „Kowalski”
• dataur → „19970323”
• specjalnosc → „ABiBD”
Do jednego ze studentów dodać dodatkowe pole, np. średnia ocen. Drugiemu proszę usunąć datę
urodzenia. Odpowiednimi poleceniami proszę wyświetlić:
• całą zawartość tablicy (pola i ich wartości),
• listę samych wartości bez nazw pól,
• liczbę wszystkich pól.
Poleceniem KEY proszę wyświetlić z wszystkich kluczy dostępnych w bazie tylko te, które odnoszą
się do naszych dwóch studentów (odpowiednie wyrażenie regularne).
mięliśmy w bazie informacje o dwóch studentach. Zakładając, że są to klucze s:12045 i s:34056
zawierające odpowiednie informacje o naszych studentach, proszę oprogramować poniższą
funkcjonalność:
Adres URL
Metoda Opis funkcjonalności
/studenci
GET
Zwraca listę studentów (wszystkie klucze postaci s:?????).
Numery indeksów powinny być odnośnikami do konkretnych
studentów, np. /student/12045.
/student/:index
GET
Zwraca informację o konkretnym studencie, nazwy kluczy i
zawartości pól.
/student/:index/add
GET
Wyświetla formularz z pustymi polami pozwalającymi dodać
nowego studenta do bazy.
/student/:index/add
POST
Dodaje studenta do bazy według pól przesłanych w
formularzu.
/student/:index/delete
POST
Usuwa danego studenta z bazy.
/student/:index/:pole/delete
POST
Usuwa jedno z pól danego studenta.
/student/:index/edit
GET
Wyświetla formularz pozwalający na edycję danych studenta.
Najlepiej jakby formularz miał już wczytane wartości z bazy
żeby użytkownik tylko zmieniał to co chce.
/student/:index/update
POST
Aktualizuje zawartość danego studenta zgodnie z tym co
przesłał formularz dostępny pod adresem /student/:index/edit
/student/:index/:pole/edit
GET
Wyświetla formularz z możliwością aktualizacji wartości
jednego pola danego studenta.
/student/:index/:pole/update POST
Analogicznie jak wyżej...
Można, a nawet trzeba dodać obsługę szablonów, parametry w adresie URL, można troszkę
popracować nad wyglądem (ale bez przesady). To zadanie będzie świetnym wprowadzeniem do
przygotowania sprawozdania na ocenę.
Zadanie 2 – zdalna baza działająca online
Można sobie założyć konto na https://redislabs.com/ - uzyskamy dostęp do darmowej bazy redis. Z
taką bazą należy się najpierw połączyć przez redis-cli, sprawdzić działanie. Następnie podmieniamy
połączenie z zadania pierwszego (localhost → baza z redislab).
Powinno działać.
Zadanie 3 – cała aplikacja działająca online
Wykorzystując jakiś darmowy hosting Node.js, np. https://www.heroku.com/, tworzymy sobie projekt,
który działa online. Instrukcje po założeniu konta na heroku:
https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction
Oczywiście jeśli ktoś ma swój własny hosting albo zna lepszy jak najbardziej można wykorzystać.
Można zrobić jakąś prostą aplikację na zaliczenie sprawozdania 1, np.:
https://rperlinski.herokuapp.com