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