Szkolenie z Express: Projekt aplikacji webowej "Biblioteka"

This translation is in progress.

W pierwszym artykule naszego cyklu praktycznych lekcji omówimy będziemy się uczyć i jak będzie wyglądała tworzona w trakcie nauki aplikacja webowa, którą nazwiemy Biblioteka.

Wymagania: Przeczytanie artykułu Wprowadzenie do Express. Aby móc aktywnie uczestwiczyć w szkoleniu potrzebne Ci będzie także przygotowanie środowiska do tworzenia applikacji w Node
Cel:

Wprowadzenie do przykładowej aplikacji, która będzie tworzona w całym cyklu szkolenia i przedstawienie wszystkich tematów, które będą omawiane. 

Wstęp

Witaj w cyklu szkoleń MDN pt. tworzenie aplikacji "Biblioteka" w frameworku Express(Node), w którym będziemy projektować aplikację webową do zarządzania biblioteką

A oto co będziemy robić w tym cyklu:

  • Wykorzystywać Express Application Generator do stworzenia szkieletu naszej aplikacji webowej.
  • Uruchamiać i zatrzymywać serwer WWW.
  • Przechowywać dane aplikacji w bazie danych.
  • Tworzyć trasy do obsługi żądań skierowanych do aplikacji oraz wykorzystywać szablony (widoki) do generowania stron HTML z danymi aplikacji.
  • Pobierać dane od użytkownika przy pomocy formularzy.
  • Wdrażać aplikację w środowisku produkcyjnym.

Część tematów nie powinna być Ci obca, bo zostały już po krótce omówione lub zasygnalizowane. Po zakończeniu szkolenia powinieneś umieć samodzielnie wykonać prostą aplikację Express.

Aplikacja webowa Biblioteka

Biblioteka to nazwa naszej aplikacji, którą będziemy tworzyć i rozwijać w trakcie tego kursu. Domyślasz się, że celem aplikacji jest udostępnienie katalogu online do zarządzania niewielką biblioteką. Użytkownicy będą mogli przejrzeć dostępne książki i zarządzać swoim kontem.

Temat przykładowej aplikacji został starannie dobrany, ponieważ możemy w niej skalować liczbę szczegółów według potrzeb oraz dobrze pokazać możliwości frameworku Express. Najważniejszą jednak sprawą jest to, że aplikacja będzie naszym przewodnikiem prowadzącym przez wszystkie funkcje, które są potrzebne w prawie każdej aplikacji webowej:

  • W kilku pierwszych artykułach zdefiniujemy aplikację w dość prostej wersji (tylko do odczytu), w której użytkownicy będą mogli tylko wyszukiwać dostępne książki. Pozwoli to nam zapoznać się z typowymi operacjami występującymi w prawie każdej aplikacji: odczytywanie i wyświetlanie danych z bazy.
  • W dalszej części kursy aplikacja będzie rozbudowywana o elementy demonstrujące bardzie zaawansowane możliwości. Przykładem może być rozszerzenie aplikacji o funkcję dodawania nowych książek do katalogu, w której pokażemy jak wykorzystywać formularze i wspierać autentykację użytkowników.

Chociaż jest to przykład aplikacji o dużych możliwościach rozbudowy, to jej celem jest pokazanie minimum informacji potrzebnych do rozpoczęcia pracy z  Express. Dlatego będziemy przechowywać w niej informacje o książkach, kopiach książek, autorach itd. Nie będziemy jednak przechowywać informacji o innych elementach związanych z pracą biblioteki, ani nie zapewnimy infrastruktury niezbędnej do obsługi wielu witryn bibliotecznych lub innych funkcji „dużej biblioteki”. 

Utknąłem, gdzie znajdę kod źródłowy?

W trakcie szkolenia będziemy prezentować kolejne fragmenty kodu źródłowego przykładowej aplikacji, żebyś mógł je skopiować i wkleić do swojego projektu. Będą też fragmenty, dzięki którym, mamy nadzieję, będziesz mógł samodzielnie ją rozbudować (z niewielką pomocą).

Jednak zamiast stosowania metody "Copy Paste", postaraj się samodzielnie przepisać kod. To zaowocuje w przyszłości lepszą znajomością kodu, gdy będziesz pisał coś podobnego.

Gdy jednak utkniesz, bo nie będziesz umiał znaleźć błędu popełnionego przy przepisywaniu, kompletny kod aplikacji możesz znaleźć w repozytorium Github.

Uwaga:  Wersje środowiska Node, Express oraz pozostałych modułów, dla których przetestowano opisywaną tu aplikację znajdują się w pliku package.json projektu.

Podsumowanie

Gdy już wiesz jaką aplikację będziemy tworzyć i czego będziesz się uczyć możesz przejść do następnego etapu i utworzyć szkielet projektu naszej przykładowej aplikacji.

W tym module