Wym

Transkrypt

Wym
Sprawozdanie 1
MEANStack (NodeJS, ExpressJS, mongoose, passport)
Oczekuję od Państwa sprawozdania z opisem utworzonego przykładowego projektu. Projekt
ma prezentować umiejętność wykorzystania przez Państwa odpowiednich składowych
technologii MEANStack (zobacz przykładowy projekt poniżej). Nie musi to być aplikacja w
pełni funkcjonalna, do końca działająca, dopracowana i pięknie wyglądająca. Aplikacja ma
być dowodem, że Państwo umieją, np. wykorzystać mongoose do obsługi bazy danych czy
passport do logowania. Wystarczą dwa, trzy egzemplarze: strony, formularza,
funkcjonalności, bardziej rozbudowanego widoku, … Coś w tym stylu.
Sprawozdania przysyłamy na adres: [email protected]
Załączamy:
• sprawozdanie w pliku PDF,
• spakowany katalog z projektem, najlepiej zip. Można też podesłać repozytorium git'a.
Tytuł: Web2.0 - Nazwisko - Spr 1
Załączniki: Nazwisko.pdf, Nazwisko.zip
W samym sprawozdaniu proszę opisać co jest w projekcie: dostępne kolekcje, system
szablonów, funkcjonalność. Każda z ocenianych poniżej umiejętności powinna mieć jakiś
opis, np. łączenie z bazą danych, tworzenie schematu i dodanie jakiejś metody statycznej albo
tworzenie tras z hierarchicznym podziałem na moduły... Jak będą wykorzystane szablony to
napisać jakie i wrzucić jakiś przykład. Jak będą inne pakiety to napisać do czego są i gdzie
były potrzebne. Myślę, że więcej niż 10 stron sprawozdania, razem z fragmentami kodów
źródłowych, nie będzie.
Nie będę dokładnie, szczegółowo opisywał jakie mają być punkty sprawozdania. Co
dokładnie ma zawierać. Proszę zaprezentować to co zrobiliście, szczególnie te rzeczy, z
którymi było ciężko, np. podział wszystkiego na osobne moduły i komunikacja między
poszczególnymi elementami, albo skonfigurowanie passport'a...
Wymagania do sprawozdania i ocenianie
Ocena
Wymagania
3.0
Wykorzystanie NodeJS + ExpressJS, podpięcie kilku stron wyświetlających
zawartość pod różnymi adresami url, udostępnienie statycznych plików, np. z
katalogu public. Generalnie takie rozbudowane „Hello World”.
3.5
Dodanie wykorzystania pakietu mongoose do zbudowania prostego API z czterema
podstawowymi operacjami CRUD, wystarczy jedna kolekcja. Dodać jedną stronę z
opisem API, żeby użytkownik mógł przeczytać co i gdzie jest dostępne.
4.0
Baza danych z mongoose z wykorzystaniem w projekcie. Dwa formularze dodające
coś do bazy, strona z listą danych z kolekcji, jakieś usuwanie danych z listy... Nie
trzeba używać tutaj szablonów, można wykorzystać bardzo surowy HTML,
4.5
Wykorzystanie struktury aplikacji otrzymanej z express-generator: podział na
moduły (trasowanie, obsługa bazy, inne...), widoki z wykorzystaniem szablonu, np.
jade albo jakikolwiek inny.
5.0
Uwierzytelnienie z passport. Osobna kolekcja użytkowników, możliwość
zalogowania się i wylogowania, dostęp do pewnych danych tylko dla zalogowanych
użytkowników.
Każda lepsza ocena wymaga zrobienia wszystkiego co jest wymagana na gorsze oceny.
Proszę to zrobić samodzielnie, każdy ile i jak potrafi. Proszę być odważnym i pozwolić sobie
poznać samego siebie, nawet jeśli się okażę, że umie się maksymalnie na 4.0.
Zasadniczo będę oceniał jak w powyższym opisie ale wybrany z dwóch ostatnich punktów na
ocenę 4.5 i 5.0 można zastąpić czymś innym. Tak więc:
• można wykorzystać bootstrapa i ładnie zrobić wygląd zamiast np. uwierzytelnienia,
• można zrobić Responsive Web Design,
• można zamieścić aplikację gdzieś online, np. z użyciem https://www.heroku.com/ i
https://mlab.com/ - jak będzie działać to może zastąpić coś z powyższych wymagań
żeby i tak uzyskać odpowiednią ocenę,
• można zamiast jednej kolekcji zrobić ich kilka i jakieś fajne zapytania do MongoDB
zrobić, które będą coś łączyć, wyszukiwać … też powinno być + 0.5 do oceny,
• można pokazać wykorzystanie Angular 1.5 razem z API dodanym w tym projekcie,
• można wykorzystać sesję, preprocesory CSS, dużo różnych dodatkowych pakietów
…
Gdyby ktoś chciał wdrożyć swój projekt np. na heroku:
https://devcenter.heroku.com/articles/getting-started-with-nodejs#introduction
Przykładowy projekt
Tag Explorer – wersja bardzo beta, i tak zajęło mi to dwa dni...
Strona: https://aqueous-anchorage-40559.herokuapp.com/
Skrócony opis projektu:
• darmowy hosting NodeJS (i nie tylko): https://www.heroku.com/
• darmowa baza MongoDB: https://mlab.com/
◦ aplikacja zawiera dwie kolekcje (links i users),
◦ dla celów edukacyjnych i z braku czasu na dopracowywanie, do obu kolekcji jest
pełny dostęp przez API,
◦ hasła użytkowników są w postaci skrótów sha1,
• NodeJS,
• ExpressJS,
• mongoose,
• szablony jade, a w zasadzie nowsza wersja pug-https://www.npmjs.com/package/pug,
◦ jest kilka plików szablonów,
◦ wykorzystane jest proste dziedziczenie i włączanie innych szablonów – include,
• passport,
◦ tylko do logowania się
◦ zalogowany ma dostęp do dodatkowej funkcjonalności (dodawanie własnych
odnośników i lista użytkowników w kolekcji)
• jest podział na moduły, widoki, jakiś prowizoryczny styl w CSS

Podobne dokumenty