Merge pull request 'Dokumenty dla projektu Niezbędnik Studenta' (#9) from s434741/niezbednikstudenta_docs:master into master

Reviewed-on: bikol/DPRI_doc_20-21#9
This commit is contained in:
Krzysztof Dyczkowski 2020-11-18 08:14:24 +01:00
commit 9524bc85cf
2 changed files with 462 additions and 0 deletions

View File

@ -0,0 +1,128 @@
# Dokument wizji projektu
**Niezbędnik Studenta**
**Autorzy: Anna Śniadek, Malwina Chudzińska, Adrian Pacholak, Phillip
Ławniczak**
**Data: 28.10.2020**
## 1. Wprowadzenie
Dokument dotyczy projektu realizowanego w ramach zespołowego projektu
inżynierskiego. Niniejszy dokument służy przedstawieniu przeznaczenia
tworzonego systemu, jego głównych cech i przyjętych założeń.
## 2. Cel
Celem projektu jest ułatwienie studentom Wydziału Matematyki i
Informatyki organizacji studiów. Studenci poświęcają dużo czasu na
znalezienie informacji i pomocy naukowych dotyczących danego przedmiotu,
które umieszczone są na wielu różnych portalach. Chcemy ułatwić
studentom ten proces zbierając wszystkie te materiały uporządkowane w
jednym miejscu. Platforma ma stanowić wsparcie naukowe dla studentów
porządkując pomoce naukowe dostępne w Internecie i gromadząc materiały
udostępniane przez użytkowników oraz kreować wspólną przestrzeń dla
studentów ułatwiając im integrację i jednocząc w problemach związanych
ze studiami.
## 3. Rynek
Serwis „Niezbędnik Studenta" zbiera wszystkie pomoce naukowe,
zgromadzone przez studentów oraz udostępniane przez prowadzących na
różnych portalach, w jednym miejscu.
Stanowi alternatywę dla grup tworzonych przez studentów w serwisie
„Facebook", który zbiera wiele informacji o swoich użytkownikach
zbędnych z punktu widzenia oferowanych funkcjonalności. Dodatkową
przewagą Niezbędnika Studenta jest łatwość znajdywania interesujących
nas grup oraz ich jednoznaczny podział na przedmioty, dzięki czemu posty
oraz materiały trafiają wyłącznie do grupy zainteresowanych danym
przedmiotem osób.
Informacje i materiały niezbędne dla studentów WMI są umieszczane na
wielu stronach. Nie ma natomiast miejsca w sieci zawierającego wskazówki
odnośnie wyszukiwania tych informacji ani zbierającego odnośniki do
stron, na których są one umieszczane.
Dużym atutem platformy jest fakt, że jest ona tworzona przez studentów
dla studentów, co oznacza, że rozwój aplikacji jest uzależniony od tej
jednej społeczności i ma na niego bezpośredni wpływ.
## 4. Opis produktu
- Dostęp do serwisu dla studentów WMI po zalogowaniu w systemie
cas.amu.edu.pl
- Lista prowadzących i odnośniki prowadzące do ich stron
- Lista przedmiotów nauczanych na WMI
- Możliwość dodania się do **grupy przedmiotowej** w celu dostępu do
**strony przedmiotu**
- możliwość udostępniania i korzystania z materiałów, notatek,
przykładowych zadań wraz z rozwiązaniami -- wszystkie materiały
dotyczące danego przedmiotu zostają zgromadzone w jednym miejscu
- forum dyskusyjne
- odnośniki do sylabusa i stron prowadzących
- lista prowadzących przedmiot
- Użytkownicy mają możliwość inicjować wydarzenia w celu poszerzenia
grupy osób do wspólnej nauki lub znalezienia osób uczących się
samodzielnie na wydziale w celu integracji
- Możliwość poszukiwania korepetytorów w osobnej zakładce
- Możliwość tworzenia grup w celu znalezienia osób do zadań
grupowych/projektów
- Tablica ogłoszeń dla wydziału, stanowiąca miejsce na eventy, kursy,
oferty pracy
- Pliki dodawane przez studentów będą grupowane ze względu na przedmiot,
będą filtrowane pod kątem nazwy, tagów, podział na wykład / ćwiczenia.
Użytkownicy mogą zgłosić brak przedmiotu w bazie przedmiotów jako błąd
wysyłany do administratorów. Administrator ma uprawnienia pozwalające
na zarządzanie (dodawanie / usuwanie / edycję) danymi (przedmiotami,
prowadzącymi).
- Administrator może nadawać uprawnienia administratora innym
użytkownikom.
- Administrator ma uprawnienia pozwalające na usuwanie treści (postów,
komentarzy, plików) oraz banowanie użytkowników (użytkownicy połączeni
są z kontem w Usosie). Użytkownicy mogą zgłaszać treści, które uważają
za nieodpowiednie. Komentarze do postów z kategorii zadania można
oznaczać jako proponowane odpowiedzi.
- Użytkownicy mogą oznaczać komentarze o takim charakterze jako
poprawne/niepoprawne.
## 5. Zakres i ograniczenia
W pierwszej wersji systemu po zalogowaniu w systemie cas.amu.edu.pl
dostępny będzie podstawowy interfejs startowy użytkownika, lista
przedmiotów i ich strony. Użytkownicy będą mieli możliwość dołączenia do
grup przedmiotowych, udostępniania oraz wglądu do materiałów, udziału w
forum. Ograniczenia na rozmiar udostępnianych multimediów.
- Aplikacja webowa
- Responsywna aplikacja dostosowana do korzystania na urządzeniach
mobilnych
- Technologie:
- Baza danych - MySQL
- Front-end - JavaScript, React
- Back-end - Java, Spring, Hibernate, JUnit
- Ograniczenia rozmiar plików: 2 MB - jeden plik
- Ograniczenia rozszerzeń - jpg/png, txt, pdf, docx, doc, odt

View File

@ -0,0 +1,334 @@
# Dokument wymagań projektu
**Nazwa projektu: Niezbędnik Studenta**
**Autorzy: Adrian Pacholak, Ania Śniadek, Malwina Chudzińska, Phillip Ławniczak**
**Data: 28.10.2020**
## 0. Wersja dokumentu
1.1 - 28.10.2020 - dostosowanie do nowego szablonu
1.2 - 16.11.2020 - naniesienie poprawek wedłgu uwag promotora
## 1. Elementy składowe projektu (produkty projektu)
### Aplikacja webowa
- Zintegrowana z REST API - pobiera dane użytkowników, dane
zawarte w aplikacji
- Dostępna dla użytkowników posiadających konto w systemie USOS
- Zarządzana przez zespół administratorów składający się z
wybranych, zainteresowanych studentów
- Umożliwia zalogowanym użytkownikom
- korzystanie z forum
- dostęp do materiałów zamieszczanych przez użytkowników
- udostępnianie plików
- pozyskiwanie informacji dotyczących studiów
- Dokumentacja dotycząca oprogramowania aplikacji webowej
- Technologie:
- JavaScript
- React
- HTML5
- SASS
- CSS3
- webpack
- node.js
- Publikacja aplikacji:
- Dostęp do aplikacji na stronie internetowej
- Dostęp do repozytorium oraz dokumentacji aplikacji na serwisie
GitHub
### Aplikacja serwerowa - REST API
- Udostępnia serwisy REST
- Służy do pobierania oraz zarządzania informacjami na temat
przedmiotów, prowadzących, wydarzeniach
- Służy do pobierania i dodawania materiałów naukowych
- Służy do zamieszczania postów i komentarzy na forum
- Używa relacyjnej bazy danych do przechowywania informacji o
użytkownikach, przedmiotach, prowadzących, ogłoszeniach,
wydarzeniach, postach oraz materiałów naukowych
- Zintegrowane z Systemem Usos w celu autoryzacji oraz pobierania
informacji o użytkownikach
- Dokumentacja dotycząca oprogramowania REST API
- Technologie: Java, Spring, Hibernate
### Relacyjna baza danych:
- Baza stworzona na potrzeby przechowywania informacji o
użytkownikach, przedmiotach, prowadzących, wydarzeniach
- Technologie:
- Azure SQL
### Repozytorium zawierające kod aplikacji
- GitHub
### Elementy nieprogramistyczne
- Tablica projektowa - Jira:
- Historia wymagań funkcjonalności (user stories)
- Historia zadań
- Prototyp aplikacji webowej
- Dokumentacja dotycząca oprogramowania REST API
- Dokumentacja dotycząca oprogramowania aplikacji webowej
- Dokumentacja architektury wykorzystanej w projekcie
## 2. Granice projektu
- Produkty nie zawarte:
- Aplikacja mobilna
- Aplikacja desktopowa
- Funkcjonalności nie zawarte:
- Rejestracja użytkowników
- Dostęp dla użytkowników nie posiadających konta w systemie USOS
- Chat dla użytkowników aplikacji
- Możliwość edycji danych użytkownika
## 3. Lista wymagań funkcjonalnych
- Aplikacja webowa:
- Autentykacja i autoryzacja użytkowników przez system
- Dostęp do informacji na temat przedmiotów i prowadzących
- Możliwość dołączania i opuszczania grup przedmiotowych
- Możliwość dodawania postów stanowiących ogłoszenia, oferty
pracy i oferty korepetycji na tablicy ogłoszeń
- Możliwość dodawania postów na forum dyskusyjnym, możliwość
komentowania postów i zamieszczania rozwiązań do zadań
- Możliwość udostępniania plików innym użytkownikom
- Możliwość inicjowania wydarzeń i dołączania do wydarzeń
- Możliwość dostosowania powiadomień przez użytkownika
- Możliwość dodawania przedmiotów, prowadzących, przydatnych linków przez użytkowników z uprawnieniami administratora
- Możliwość zarządzania ogłoszeniami, postami, komentarzami użytkowników przez administratorów
- Możliwość dawania użytkownikom uprawnień administratora przez administratorów
- Aplikacja serwerowa:
- Zintegrowana z Systemem USOS w celu autoryzacji oraz
pobierania informacji o użytkownikach
- Pobieranie oraz zarządzanie informacjami na temat
przedmiotów, prowadzących, wydarzeń, postów i komentarzy na
forum
- Pobieranie i dodawanie materiałów naukowych
- Połączona z relacyjną bazą danych zawierającą dane oraz
pliki
## 4. Lista wymagań niefunkcjonalnych
- Dokumentacja dotyczącą oprogramowania aplikacji webowej i REST API
- Dostęp do repozytorium kodu
- Aplikacja dostępna dla komputerów i urządzeń mobilnych
- Użyte biblioteki na licencji open-source
## 5. Mierzalne wskaźniki wdrożenia
- Akceptacja funkcjonalna:
- Ukończenie zdefiniowanych funkcjonalności aplikacji webowej
- Dostęp do aplikacji dla wszystkich użytkowników systemu Usos
- Brak błędów utrudniających korzystanie z aplikacji
- Akceptacja jakościowa:
- Zawieranie testów jednostkowe i sprawdzenie, czy spełniają swoje
zadanie
- Deploy wersji alpha aplikacji na serwer 30.11.2020, przeprowadzenie testów, sporządzenie raportu i naniesienie poprawek na jego podstawie
- Deploy wersji beta aplikacji 07.01.2021 na serwer, przeprowadzenie testów, sporządzenie raportu i naniesienie poprawek na jego podstawie
- Aplikacja posiada 40 aktywnych użytkowników
## 6. Kryteria akceptacji projektu dla I semestru prac
- Dostarczenie prototypu projektu
- Aplikacja webowa zintegrowana z REST API oferująca
funkcjonalności:
- logowanie do serwisu
- podstawowy interfejs startowy użytkownika
- lista przedmiotów (grup przedmiotowych)
- możliwość dołączenia do grup przedmiotowych
- udział w forum
- Dokumentacja aplikacji webowej i serwerowej
## 7. Kryteria akceptacji projektu dla II semestru prac
- Aplikacja webowa zintegrowana z REST API uzupełniona o
funkcjonalności:
- udostępnianie i pobieranie materiałów w postaci plików
- tworzenie i dołączanie do wydarzeń
- dodawanie ogłoszeń
- powiadomienia i customizacja powiadomień
- edycja zawartości strony przez admistratorów
- zarządzanie treścią i użytkownikami przez administratorów
- Anglojęzyczna wersja aplikacji
- Dokumentacja aplikacji webowej i serwerowej
- System pozytywnie przeszedł testy obciążeniowe, testy alpha i beta
## 8. Organizacja pracy zespołu
- Strona klienta:
- Studenci wydziału Matematyki i Informatyki na kierunku
Matematyka i Informatyka
- Strona zespołu projektowego
- Malwina Chudzińska
- Product Owner
- Implementacja aplikacji webowej
- Tworzenie prototypu interfejsu aplikacji
- Anna Śniadek
- Implementacja aplikacji webowej
- Projekt szaty graficznej aplikacji
- Scrum Master
- Adrian Pacholak
- Implementacja serwisów REST dla aplikacji
- Projektowanie bazy danych
- Phillip Ławniczak
- Tworzenie prototypu interfejsu aplikacji
- Implementacja aplikacji webowej
## 9. Ryzyka projektowe
- Odejście członka implementującego aplikację webową lub stronę
serwerową - trudności w ukończeniu aplikacji
- Określone ramy czasowe, semestry, na stworzenie produktu - ryzyko
nieukończenia w czasie
- Nieporozumienia w zespole dotyczące rozwiązań implementacyjnych,
architektury, funkcjonalności lub używanych technologii
- Konieczność poświęcenia czasu na dopełnienie wiedzy dotyczącej
stosowanych technologii
- Brak odpowiedniego zaangażowania w projekcie ze strony zespołu lub
wybranych członków zespołu
- Przechowywanie danych o użytkownikach
- Brak zainteresowania aplikacją ze strony użytkowników
- Brak chętnych do pełnienia roli administratora
- Zarządzanie nieodpowiednimi treściami
- Problemy techniczne po stronie systemu Usos
## 10. Kamienie milowe
- Logowanie przez cas.amu.edu.pl
- Dostarczenie użytkownikowi funkcjonalności dołączania do grup
przedmiotowych
- Dostarczenie użytkownikowi funkcjonalności dodawania kontentu do
portalu
- Wdrożenie aplikacji serwerowej na serwerze
- Aplikacja posiadająca dokumentację
- Aplikacja dostępna na stronie internetowej
- Aplikacja posiadająca użytkowników
- Aplikacja uzupełniona danymi dotyczącymi przedmiotów, prowadzących,
materiałami naukowymi