Merge pull request 'Dokumenty dla projektu Niezbędnik Studenta' (#9) from s434741/niezbednikstudenta_docs:master into master
Reviewed-on: #9
This commit is contained in:
commit
9524bc85cf
128
Dyczkowski/niezbednik-studenta/dokument_wizji_projektu.md
Normal file
128
Dyczkowski/niezbednik-studenta/dokument_wizji_projektu.md
Normal 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
|
334
Dyczkowski/niezbednik-studenta/dokument_wymagan_projektowych.md
Normal file
334
Dyczkowski/niezbednik-studenta/dokument_wymagan_projektowych.md
Normal 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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user