Φοιτητής: Διονύσιος Αλεξόπουλος (Student ID: 2331909) Μάθημα: SWE6002 - Enterprise Systems Development Επιβλέπων Καθηγητής: Σπύρος Μαύρος
Το παρόν έργο υλοποιεί ένα ολοκληρωμένο σύστημα διαχείρισης εργασιών (Task-Management-System) για φοιτητές, με στόχο την αποτελεσματική οργάνωση ακαδημαϊκών και προσωπικών υποχρεώσεων. Η εφαρμογή αναπτύχθηκε με έμφαση στην επεκτασιμότητα, την ασφάλεια των δεδομένων και την υψηλή απόδοση μέσω σύγχρονων τεχνολογιών Java.
Για τη δοκιμή των λειτουργιών και του ελέγχου πρόσβασης βάσει ρόλων (RBAC), χρησιμοποιήστε τα παρακάτω στοιχεία:
- Username: admin
- Password: Olympus2026!
- Username: student1
- Password: student123!
- Username: work_user
- Password: work_user123!
- Java 21: Αξιοποίηση των Virtual Threads για τη βελτιστοποίηση της διαχείρισης πόρων.
- Spring Boot 3.3.0: Χρήση του πλέον σύγχρονου framework για enterprise εφαρμογές.
- Spring Security 6: Ολοκληρωμένη υλοποίηση ελέγχου πρόσβασης (RBAC) και προστασία δεδομένων.
- MySQL: Σύστημα βάσης δεδομένων για τη διασφάλιση της συνεκτικότητας των δεδομένων.
Η εφαρμογή ακολουθεί την Πολυεπίπεδη Αρχιτεκτονική (N-Tier) για τον πλήρη διαχωρισμό των ευθυνών:
- Controller Layer: Διαχείριση αιτημάτων HTTP, επικύρωση δεδομένων και δρομολόγηση.
- Service Layer: Ενσωμάτωση όλης της επιχειρησιακής λογικής και των κανόνων του συστήματος.
- Repository Layer: Ανεξάρτητη επικοινωνία με τη βάση δεδομένων μέσω του Repository Pattern.
- DTO Pattern: Χρήση ειδικών αντικειμένων μεταφοράς δεδομένων για την αποφυγή επιθέσεων Mass Assignment.
- User Management: Σύστημα εγγραφής, σύνδεσης και πλήρους διαχείρισης χρηστών από τον Admin.
- Task CRUD: Πλήρης κύκλος διαχείρισης εργασιών (Δημιουργία, Προβολή, Ενημέρωση, Διαγραφή).
- RBAC: Αυστηρός διαχωρισμός δικαιωμάτων μεταξύ των ρόλων ROLE_ADMIN και ROLE_MEMBER.
- Filtering and Search: Δυνατότητα αναζήτησης και φιλτραρίσματος εργασιών βάσει κατηγορίας και ημερομηνίας.
Σημείωση: Το αναλυτικό ημερολόγιο ανάπτυξης των 2,5 μηνών βρίσκεται στο αρχείο DEVELOPMENT_LOG.md.