/DistributedSystems-Intranet-

An internal system(intranet) for the maniplation of boards implemented with Spring MVC+Hibernate ORM for freshmen students at a University.This repository was made for the preseantation of a project in the Distributed Systems course at Harokopio University of Athens.

Primary LanguageJavaScript

ds-2019-internal

ΟΜΑΔΑ

Α.Μ. 21649 Βασίλειος Μάντζαρης ​

​Α.Μ. 21526 Ιωάννης ​​Μακρής

Α.Μ. 217120 Ιωάννης Παναγιωτόπουλος

Installation Manual

Το schema της βασης βρισκεται στο αρχειο src/db-schema.sql.

Να δημιουργηθει ενα database. Στην συγκεκριμενη περιπτωση ονομαζεται webapplication.

Εμεις αντιμετωπισαμε καποια error τα οποια λυθηκαν μετα το παρακατω query (να εκτελεστει μεσα στην βαση δεδομενων που θα χρησιμοποιηθει).

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';

Η πρωτη λεξη 'root' να αντικατασταθει αν χρησιμοποιειται καποιος user στην βαση δεδομενων. Η δευτερη λεξη root να αντικατασταθει με το password του user.

Να δημιουργηθει ο admin για να μπορει να γινει εισοδος στο συστημα.

Οπου {pass}, να αντικατασταθει με ενα bcrypt hashed password.

insert into user (username, password, enabled) values ('officer1', {password}, 1);
insert into user_information (username, name, email) values ('officer1', 'name', 'email');
inser into authorities (username, authority) values ('officer1', 'ROLE_ADMIN');
insert into department (department_name) values ('Informatics');
insert into department (department_name) values ('Geography');
insert into department (department_name) values ('Dietics');
insert into department (department_name) values ('Economics');

Να ανανεωθει με τα σωστα στοχεια το αρχειο src/hibernate.cfg.xml και το αρχειο dp.properties

  • Στο connection.url να αντικατασταθει η λεξη webapplication μετα το port, με το ονομα της δικια σας βασης.

  • Στο connection.username να συμπληρωθει το username του user.

  • Στο connection.password να συμπληρωθει το password του user.

Μετα απο αυτα τα βηματα ειναι ετοιμο το σηκωμα της εφαρμογης σε εναν apache server.

User Manual

Σηκωνουμε την εφαρμογη και προχωραμε στο παρακατω link.

http://localhost:8080/spring-mvc-1/

Συμπληρωνουμε τα στοιχεια του admin που δημιουργησαμε προηγουμενως και κανουμε login.

Ο admin του συστηματος διαχειριζεται τον κατάλογο χρηστών. Στην σελιδα που εμφανιζεται, υπαρχει ενα Navigation Bar που μπορουμε να κανουμε ενεργειες crud(create read update delete) για τους διοικητικους υπαλληλους (Show Officers) και φοιτητες (Show Students).

Αρχικα να δημιουργηθει ενας Officer τυπου Supervisor.

Στην συνεχεια να δημιουργηθουν 4 Officers τυπου Officer(δηλαδη απλοι υπαλληλοι), ενας για καθε τμημα.

Με την επιλογη logout (πανω δεξια) κανουμε αποσυνδεση.

Με την συνδεση ενος υπαλληλου (απλου) μπορουμε να δουμε τους φοιτητες του τμηματος που επιβλεπει.

Με την συνδεση ενος supervisor εχουμε δικαιώματα read ολων των φοιτητων (Show Students). Στην δευτερη σελίδα ( Show Departments ) μπορουμε να δουμε την κατασταση καθε τμηματος. Αν ενα τμημα ειναι ενεργο τοτε το εξωτερικο συστημα επιτρεπει στον φοιτητη απο το τμημα αυτο να αποστειλει αιτηση σιτησης.

Ας ενεργοποιησουμε ενα τμημα. Εστω οτι ενεργοποιουμε το τμημα πληροφορικης.

Στην συνεχεια θα δημιουργησουμε μερικους φοιτητες καθως και μια αιτηση για καθε φοιτητή. Αυτο θα γινει μεσω του εξωτερικου συστηματος. Μεταβειτε στον κωδικα του εξωτερικού συστηματος και ακολουθηστε τα βηματα στο User Manual.

Στην συνεχεια κανουμε login εναν τον απλο officer.

Στην δευτερη σελιδα (Show Applications) θα εμφανιστει τωρα η αιτηση σιτησης την οποια αποδεχεται η απορριπτει ο υπαλληλος.

Αποδεχομαστε την αιτηση.

Μπορουμε να επαναλαβουμε την διαδικασια και για περισσοτερους φοιτητηες πληροφορικης.

Αφου αποδεχτουμε ολες τις αιτησεις ή/και φτασει η ημερομηνια που τερματιζει η διαδικασια αιτησεων, ο προισταμενος υπαλληλος απενεργοποιει το status του department που ενεργοποιησαμε προηγουμενως. Θα πρεπει να δηλώσει το ποσοστό επιτυχημένων αιτήσεων που θα βγαλει το τμήμα.

Κατα την απενεργοποιηση μπορουμε να δουμε στο εξωτερικο συστημα οτι οι καθε φοιτητης παιρνει τους καταλληλους ποντους και βλεπει αν θα εχει καρτα σιτησης η οχι.