Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Maksymalna liczebność grupy projektowej: 2 osoby
- Język programowania i stos technologiczny: dowolny
- WIZJA PROJEKTU
- Projekt może być zrealizowany na wiele różnych sposobów zarówno w kontekście samej aplikacji webowej, jak i integracji z wybranym systemem zewnętrznym. Dlatego ważnym elementem jest zdefiniowanie wizji projektu, w postaci 1-stronnicowego dokumentu opisującego kluczowe elementy systemu (stos technologiczny + wysokopoziomowy opis architektoniczny) oraz zakładaną funkcjonalność. Wymaga to wcześniejszego zaznajomienia się z możliwościami systemów zewnętrznych w celu pozwalającym na stwierdzenie wykonalności proponowanych funkcji.
- Przygotowany dokument należy przesłać do dnia 25 marca 2019r. w ramach zadania "Mini-projekt - wizja".
- Dokument powinien zostać nazwany: TAI_Wizja-Nazwisko1Nazwisko2* (*podstawić nazwiska członków grupy projektowej)
- PRZYKŁADOWY OPIS (FUNKCJONALNOŚCI) PROJEKTU Z LAT POPRZEDNICH
- Celem projektu jest tworzenie aplikacji web'owej, która będzie realizowała następujące przybliżone wymagania:
- - umożliwia tworzenie tzw. "feedów" o wydarzeniu, konferencji, wykładzie, zajęciach lub czymś podobnym.
- - umożliwia zostawienie komentarza do danego zdarzenia/tematu
- - umożliwia agregowanie informacji o zdarzeniu i komentarzach użytkowników z wybranego źródła np. meetup, tweeter, wpisy na portalu społecznościowym itp.
- - powinna mieć co najmniej 2 rodzaje kont użytkowników: i) creator (tworzy i zarządza tablicą do komentowania ) i commenter, który tylko dodaje i modyfikuje swoje komentarze.
- - uwierzytelnianie ma się odbywać przy wykorzystaniu wybranego systemy zewnętrznego.
- Integrować można się z różnymi systemami zewnętrznymi np.: Meetup (http://www.meetup.com), Twitter (https://twitter.com/), wybrany portal społecznościowy. Pojawiały się również systemy podobne do YAFUD, Mistrzowie.org czy Demotywatory.pl.
- Liczę na Państwa kreatywność ;-)
- WYMAGANIA REALIZACJI PROJEKTU
- W aplikacji należy zaimplementować uwierzytelnianie z wykorzystaniem zewnętrznego dostawy identity opartego o OAuth 2.0 (Google, Facebook, itp.);
- Projekt ma być sprawnie budowany za pomocą Maven'a, Gradle'a, SBT lub build toola specyficznego dla wybranej technologii.
- System powinien posiadać przejrzysty i czytelny interfejs graficzny.
- Na zakończenie projekt powinien mieć krótką dokumentację techniczną (diagram klas+opis systemu, sposób kompilacji i uruchamiania, wymagania techniczne, dokumentacja publicznych interfejsów - javadoc itp.).
- Kod ma być utrzymywany w repozytorium Git'a na przykład bitbucket lub github. Brak wykazania równego poziomu zaangażowania członków zespołu na bazie dostarczonych historii commitów będzie skutkował niezaliczeniem projektu, a przez to i przedmiotu.
- Aplikacja ma być prezentowana i dostępna w czasie trwania projektu na publicznie dostępnym serwerze (można wykorzystać dostępne darmowe hostingi bądź dostawców usług w chmurze).
- Należy przeprowadzić testy wydajnościowe rozwiązania przy użyciu np. JMeter'a, Gatlinga bądź podobnych narzędzi.
- Pod względem funkcjonalnym aplikacja powinna wykorzystywać zewnętrznie hostowane API
- Zadania ponadwymiarowe:
- Skonfigurowanie środowiska HA dla zaimplementowanej aplikacji - 1 load balancer + 2 instancje aplikacji.
- Skonfigurowanie mechanizmów SSO tak, żeby przepięcie pomiędzy instancjami nie wymagało ponownego logowania.
- Kod źródłowy ma być przechowywany w zewnętrznym repozytorium typu git, svn, itp. !!!
- OCENY
- 40% - Stopień realizacji funkcjonalności uzgodnionej na pierwszym spotkaniu projektowym.
- 10% - Poprawność architektury systemu (integracja z systemem zewnętrznym, uwierzytelnianie/autoryzacja, przepływ danych, zabezpieczenie przed atakami).
- 40% - Jakość zbudowanego oprogramowania w kontekście praktyk inżynierskich (e.g. jakość i styl kodu, pokrycie testami, spójność zastosowanych modeli obiektowych, modularyzacja aplikacji, logowanie, etc).
- 10% - Systematyczność pracy.
- TERMINY (terminy spotkań poszczególnych grup do ustalenia przez starostę)
- wizja systemu: do 25 marca 2019 r.
- prezentacja wizji: slot wykładu 3 kwietnia 2019 r.
- I spotkanie projektowe: 29.04/06.05 2019 r.
- II spotkanie projektowe (końcowe): czerwiec 2019 r. (dokładny termin do ustalenia)
- UWAGA! Należy mieć na uwadze, że jest to mini-projekt i funkcjonalność nie powinna być rozdmuchana. Istnienie możliwość dużych wariacji na temat zaproponowanych wymagań funkcjonalnych aplikacji jeśli się ma własny ciekawy pomysł.
- W razie pytań proszę pisać.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement