Dokumentacja projektu PUSOS Projekt PUSOS Strona 1
Spis treści Skład zespołu... 4 Opis projektu... 4 Dokumentacja użytkownika... 4 Strona Tytułowa... 4 Logowanie do systemu... 5 Moduł Studenta... 6 Plan zajęć... 6 Rejestracja... 7 Oceny... 8 Mail... 8 Moje Studia... 9 Moduł Dziekanatu... 13 Edycja strony głównej... 13 Edycja aktualności... 14 Plan zajęć... 14 Usuń/Edytuj plan... 16 Rejestracja... 17 Rejestracja ręczna... 17 Wyrejestruj z zajęć... 18 Rozlicz studenta... 19 Moduł Pracownika Naukowego... 19 Grupy Zajęciowe... 19 Plan Zajęć... 19 Oceny... 20 Mail... 20 Moduł Administratora... 21 Dodaj Pracownika... 21 Usuń Pracownika... 22 Dokumentacja techniczna... 23 Baza Danych... 23 Projekt PUSOS Strona 2
Moduły... 23 Klasy (katalog class)... 24 Katalog CSS... 24 Katalog scripts... 24 Katalog smart... 24 Katalog smarty... 24 Katalog tcpdf... 24 Katalog tinymce... 25 Katalog images... 25 Instalacja PUSOS na nowej maszynie... 26 Projekt PUSOS Strona 3
Skład zespołu Małgorzata Stankiewicz programowanie, projektowanie html, opracowanie graficzne, Oliwia Potwardowska programowanie, projektowanie html, opracowanie graficzne, Andrzej Bejgier programowanie, projektowanie html, skrypty javascript, jquery Opis projektu Profesjonalny Uniwersytecki System Obsługi Studiów (PUSOS) jest projektem rozwijanym w ramach pracowni programowania zespołowego na Wydziale Fizyki Astronomii i Informatyki Stosowanej Uniwersytetu Mikołaja Kopernika w Toruniu przez studentów III roku Informatyki Stosowanej. Podstawową funkcją aplikacji webowej jest możliwość przeprowadzenia sprawnego przydziału studentów do grup ćwiczeniowych. Dokumentacja użytkownika Serwis jest tworzony z myślą o prostocie użytkowania. Każda funkcja systemu jest intuicyjnie opisana, więc korzystanie z PUSOS a nie dostarcza trudności. Strona Tytułowa Pasek tytułowy umożliwia: o Bezpośredni dostęp do strony Instytutu Fizyki, o Wyświetlenie aktualności wpisywanych przez pracowników dziekanatu, o Zalogowanie się do systemu PUSOS, o Kontakt z zespołem projektu PUSOS, wymagane jest podanie swojego imienia i nazwiska, nr albumu oraz wiadomości jaką chcemy przesłać. Widoczna jest także mini mapka z umiejscowieniem głównej siedziby zespołu PUSOS. Poniżej znajduję się panel na którym wyświetlane jest powitanie, a także bardzo ważne informacje dla użytkowników. Po prawej stronie umieszczony jest pasek przeszukiwania strony, jak również menu umożliwiające szybki dostęp do: o Planu zajęć, o Informacji z dziekanatu, o Galerii, o Kontaktu. Projekt PUSOS Strona 4
Logowanie do systemu Podczas logowania system rozpoznaje jaki moduł należy do użytkownika poprzez odpowiednie dla każdej grupy użytkowników domeny : o @stud.umk.pl dla modułu studenta o @prac.umk.pl dla modułu pracownika dziekanatu o @prow.umk.pl dla modułu prowadzącego o @admin.umk.pl dla modułu administratora Projekt PUSOS Strona 5
Przedstawienie poszczególnych modułów użytkowych PUSOS składa się z kilku różniących się funkcyjnie i wizualnie komponentów dedykowanym różnym grupom użytkowników. Moduł Studenta Po zalogowaniu studenta, pojawia się główny panel użytkownika. Ikona domku umożliwia szybki dostęp do głównego panelu użytkownika. Ikona strzałki skierowanej w lewo oznacza cofnięcie się na poprzednio odwiedzaną stronę. Plan zajęć Po wejściu w zakładkę Plan zajęć pojawia się aktualny plan zajęć zalogowanego użytkownika. Klikając na poszczególne grupy zajęciowe pojawiają się szczegółowe informację o zajęciach (prowadzący, rodzaj zajęć, numer grupy) oraz lista zarejestrowanych na przedmiot użytkowników. Interaktywny plan zajęć można wyeksportować do formatu PDF klikając na ikonę dyskietki. Projekt PUSOS Strona 6
Rejestracja Zakładka rejestracji jest dostępna tylko w okresie rejestracji studenta. Student po wejściu w Rejestrację widzi dostępne dla niego plany zajęć, gdzie ustala priorytety, na który plan chciałby się zarejestrować. Student dowiaduje się do której grupy się dostał dopiero po zakończeniu rejestracji. Projekt PUSOS Strona 7
Oceny Dzięki tej zakładce można obejrzeć dotychczasowe osiągnięcia zalogowanego studenta, czyli oceny ze wszystkich stopni studiów jakie odbył, a także te które są nadal w toku. Oczywiście istnieje możliwość wejścia w informacje dotyczące każdej grupy zajęciowej, z których są,, bądź będą wystawione oceny (strona grupy zajęciowej). Jest możliwość zapisania otrzymanych ocen w formacie PDF po kliknięciu na dyskietkę. Mail Zakładka mail umożliwia wysyłanie maili do wszystkich studentów, za pomocą specjalnego adresu studall. Można również wysyłać maile na wszystkie adresy internetowe indywidualnie. Projekt PUSOS Strona 8
Moje Studia W zakładce Moje Studia widoczne są dwie karty: o Wyszukiwarka, o Ustawienia konta. Ustawienia konta umożliwiają zmianę hasła, którego używamy do logowania się na nasze konto w systemie PUSOS. Natomiast wyszukiwarka dostarcza nam możliwości przeglądania całej oferty uniwersyteckiej. Możemy wyszukać: o Kierunek, o Prowadzącego, o Studenta, o Przedmiot. Projekt PUSOS Strona 9
Strona Ustawienia konta umożliwia zmianę hasła do systemu. Nowy użytkownik po wypełnieniu formularza rejestracyjnego (link znajduje się w panelu logowania odnośnik zarejestruj się) otrzymuje meila z danymi rejestracyjnymi. Strona opisu grupy zajęciowej dostarcza nam następujących informacji: o Kto prowadzi grupę zajęciową, obok nazwiska znajduje się ikonka listu mamy możliwość wysłania maila do prowadzącego, o Jaki jest to rodzaj zajęć (wykład, ćwiczenia, laboratorium), o Termin odbywania się zajęć, o Miejsce (wydział, nr Sali), o Uczestnicy grupy zajęciowej. Strona opisu kierunku dostarcza nam następujących informacji: o Informacja na jakim wydziale się odbywa, o Dokładny adres. Dodatkowo wyświetla wszystkie semestry, oraz przypisane do nich przedmioty obowiązkowe, które każdy student będzie musiał zaliczyć. Projekt PUSOS Strona 10
Strona opisu prowadzącego dostarcza nam następujących informacji: o Login prowadzącego, zaraz obok mamy możliwość wysłania maila na ten adres, o Prowadzone przedmioty. Strona opisu studenta dostarcza nam następujących informacji: o Nr albumu studenta, o Kierunek, na który uczęszcza, o Semestr, o Stopień studiów, o Wydział, o Adres e-mail. Projekt PUSOS Strona 11
Strona opisu przedmiotu dostarcza nam następujących informacji: o Prowadzący, o Kryteria oceniania, o Ilość punktów ECTS jakie możemy zdobyć, o Dedykacja przedmiotu, czyli np. odbywa się dla studentów pierwszego roku, o Opis dokładna informacja o tematyce danego przedmiotu. Projekt PUSOS Strona 12
Moduł Dziekanatu Po zalogowaniu pracownika dziekanatu pojawia się panel użytkownika. Edycja strony głównej Zakładka pozwala na edycję tekstu znajdującego się na stronie głównej systemu PUSOS. Tekst można formatować według uznania, dzięki edytorowi zamieszczonemu na stronie. Projekt PUSOS Strona 13
Edycja aktualności Zakładka służy do edycji aktualności znajdujących się w menu głównym na stronie głównej systemu PUSOS. Podobnie jak w przypadku edycji strony głównej używa się do tego celu edytora pozwalającego na formatowanie tekstu. Wpisy można edytować, dodawać oraz usuwać. Plan zajęć Wybierając z menu modułu dziekanatu zakładkę Plan zajęć pracownik ma możliwość dodania planu zajęć dla poszczególnych grup zajęciowych. W tym celu musi wykonać następujące kroki: o Wybór kierunku, stopnia studiów oraz semestru na jakim plan jest wprowadzany, a także określenie ilości planów. (dla ułatwienia można policzyć ilość studentów na danym kierunku i semestrze) Projekt PUSOS Strona 14
Określenie liczebności występowania przedmiotów w planie (np. 3 dla grup ćwiczeniowych, wykładu i laboratorium). o Wpisanie potrzebnych informacji dla każdej grupy w poszczególnych planach (godziny, dzień tygodnia, prowadzący, rodzaj zajęć) Projekt PUSOS Strona 15
o Po wprowadzeniu planów pojawia się podgląd graficzny poszczególnych grup. o Klikając na wybrany numer planu można edytować błędnie wprowadzone dane. Usuń/Edytuj plan Zakładka umożliwia usuwanie oraz edytowanie błędnie wprowadzonych planów. Projekt PUSOS Strona 16
Rejestracja Wybór zakładki Rejestracja pozwala na ustalenie daty rozpoczęcia oraz zakończenia rejestracji. Rejestracja rozliczana jest automatycznie przy uwzględnieniu średniej ocen studentów oraz priorytetów dotyczących wyboru planu przez studenta. Pracownik dziekanatu ma możliwość rozliczenia automatycznego rejestracji wybierając odpowiedni kierunek oraz etap studiów. Zapewnia to zmniejszenie obciążenia serwera podczas rozliczania rejestracji. Rejestracja ręczna Rejestracja ręczna umożliwia zapisanie studenta do wybranej grupy ćwiczeniowej ręcznie. Wiąże się to z następującymi czynnościami: o Wybór kierunku studenta o Wybór przedmiotu na jaki chcemy zarejestrować studenta Projekt PUSOS Strona 17
o Wybór studenta i grupy do której ma należeć Wyrejestruj z zajęć Wyrejestrowanie studenta z zajęć wiąże się z: o Wybraniem studenta, który ma zostać wyrejestrowany o Wybraniem grupy zajęciowej, do której nie ma już uczęszczać Projekt PUSOS Strona 18
Rozlicz studenta Następuje rozliczenie studenta z aktualnego semestru studiów. Student który uzyskał ocenę niedostateczną nie zostaje awansowany na kolejny etap studiów. Rozliczenie etapów odbywa się dla każdego kierunku osobno. Pracownik może zaplanować kiedy rozliczyć etapy, tak by nie obciążać serwera. Moduł Pracownika Naukowego Główna strona zapewnia nam dostęp do funkcji niezbędnych każdemu prowadzącemu, mianowicie wyświetlenie: o informacji o prowadzonych grupach zajęciowych, o planu zajęć, o strony umożliwiającej wystawianie ocen, o strony dzięki której możliwy jest kontakt ze studentami drogą email. Grupy Zajęciowe Strona grup zajęciowych dostarcza dokładnych informacji: o typ zajęć (wykład, ćwiczenia, laboratorium), o data odbywania się zajęć, o sala. Plan Zajęć Plan zajęć jest funkcjonalnie identyczny z tym, jakiego używa student. (patrz Plan zajęć) Projekt PUSOS Strona 19
Oceny Wystawianie ocen wymaga wybrania przedmiotu z jakiego chcemy wpisać oceny. Następnie prowadzący wybiera jakiemu studentowi chce przypisać ocenę, przy czym liczba 0 oznacza brak oceny. Wpisane raz oceny są zapamiętywane, więc przy następnym podejściu do wpisywania ocen widzimy jakie stopnie ma każdy z naszych studentów. Oceny mogą być w każdym momencie poprawiane. Mail Strona mail jest identyczna jak ta w module studenta. (patrz Mail) Projekt PUSOS Strona 20
Moduł Administratora Moduł administratora służy do kontroli nad zatrudnionymi pracownikami naukowymi i dziekanatu. Umożliwia dodawanie nowych użytkowników do bazy, bądź ich usuwanie po wpisaniu loginu. Dodaj Pracownika Na tej stronie mamy możliwość dodania pracownika dziekanatu lub pracownika naukowego. Po kliknięciu pojawia się nowa strona, na której należy podać: o Imię, o Nazwisko, o Login, o Hasło. Klikając Zapisz nowy użytkownik zostanie dodany do bazy i będzie miał możliwość korzystania z serwisu PUSOS. Projekt PUSOS Strona 21
Usuń Pracownika Kolejny odnośnik dostarcza możliwość usunięcia użytkownika. Na nowej stronie należy podać login osoby usuwanej z bazy. Klikając Zapisz nowy użytkownik zostanie usunięty z bazy i nie będzie miał możliwości korzystania z serwisu PUSOS. Projekt PUSOS Strona 22
Dokumentacja techniczna Baza Danych System oparty jest na relacyjnej bazie danych MySQL. Poniżej widoczny jest diagram ER Pusos został stworzony w obiektowo zorientowanym PHP przy użyciu szablonów SMARTY pełniących rolę warstwy widoku. Połączenie z bazą MySQL zapewnia biblioteka PDO. Projekt podzielony jest na nastepujące częsci: Moduły -student.module.php jest klasą obsługującą zapytania SQL zwiazane z studentem, -dziekanat.module.php jest klasą obsługującą zapytania SQL zwiazane z pracą dziekanatu, zawiera metody rozliczjace studentow z danego etapu, oraz metodę zapewniającą rejestrację automatyczną, -prowadzacy.module.php jest klasą obsługującą zapytania SQL związane z wykładowcą, -admin.module jest klasą obsługującą zapytania SQL związane z administratorem. Projekt PUSOS Strona 23
Klasy (katalog class) -basicclass klasa implementująca połączenie z bazą MySQL, zawiera metody obsługujące przekazywanie wyników zapytań SQL do warstwy widoku obsługiwanej przez szablony smarty, -cammonclass rozszerza basicclass zawiera metody autoryzacji użytkowników. Klasa jest implementowana w modułach (wzorzec projektowy SINGLETON), -class.php.mailer, class.pop3.php, clas.smtp.php klasy odpowiedzialna za obsługę poczty. Katalog class zawiera następujące funkcje: -function.generate.password funkcja generuje hasła dla nowych użytkowników, -function.mail.php funkcja opowiedzialana za wysyłanie grupowe maili, oraz danych rejestracyjnych nowych użytkowników, -function.miniaturka.php funkcja odpowiedzialna za tworzenie miniaturek obrazków wygenerowanych z dokumentów PDF. Katalog CSS katalog zawiera osobne kaskadowe arkusze stylów dla paneli administracyjnych takich jak dziekanat, prowadzący itd. oraz szablon strony głównej serwisu oraz panelu studenta. Katalog scripts katalog zawiera skrypty javascript wykorzystujące Framework jquery obsługujące wszelkiego rodzaju animowane menu, zakładki oraz skrypty AJAX. Katalog smart podkatalog templates zawiera szablony tpl poszczególnych modułów, podkatalog cache zawiera strony zbuforowane w celu szybszego działania serwisu. Katalog smarty katalog zawiera klasy implementujące szablony SMARTY, Katalog tcpdf katalog zawiera klasy odpowiedzialne za generowanie dokumentów w formacie PDF, Projekt PUSOS Strona 24
Katalog tinymce katalog zawiera skrypty javascript implementujące edytor WYSIWYG, Katalog images zawiera obrazki wykorzystane w serwisie, Config.Smarty.php plik zawiera konfiguracje szablonów, ConnectionParams.php plik zawiera podstawowe dane konfiguracyjne takie jak hasło do bazy danych, nazwę instancji bazy, admin.php plik zawiera metody implementujące panel administracyjny, check_status.php plik zawiera metody odpowiedzialne za czasowe włączenie, wyłączenie rejestracji, dziekanat.php plik zawiera metody implementujące panel dziekanatu, login.php plik zawiera metody implementujące panel loginu, prowadzacy.php plik zawiera metody implementujące panel pracownika naukowego, rejestracja_studenta.php plik zawiera metody implementujące dopisanie nowego studenta do systemu, student.php plik zawiera metody implementujące panel studenta, index.php plik zawiera metody implementujące główny serwis, skrypt.php plik zawiera metody odpowiedzialne za konwersje dokumentów PDF do JPEG wykorzystuje ImageMagick. Projekt PUSOS Strona 25
Instalacja PUSOS na nowej maszynie Wymagania Systemowe System PUSOS do poprawnego działania wymaga dystrybucji Linux owej systemu, (testowano Debian), oraz relacyjnej bazy danych MySQL. Zawartość katalogu pusos_sys należy skopiować do katalogu głównego serwera (var/www/). Nadać prawa dostępu do katalogów dla użytkownika ->serwera Apache (dystrybucja Debian wwwdata) - smart/cache - pdf chown www-data:www-data /smart/cache chown www-data:www-data pdf Należy zainstalować na serwerze ImageMagick sudo apt-get install ImageMagick Po wykonaniu powyższych czynności należy zaimportować bazę danych. Skrypt generujący bazę znajduje się w katalogu SQL mysql -u root -p (logujemy się do bazy danych) następnie w lini komend mysql>scource pusos_sys/sql/script.sql Skrypt można wykonać również z poziomu PHPMyAdmin. Projekt PUSOS Strona 26