Πίσω στο Portfolio

Work Schedule (WSG)

Διαδικτυακή εφαρμογή διαχείρισης αδειών, ωραρίων και παρουσιολογίου προσωπικού με αυτόματο υπολογισμό εργάσιμων ημερών, προγραμματισμό Σαββάτων και print-ready αναφορές.

Κατηγορία
System Development
Πελάτης
Επιχείρηση Εμπορίας & Διανομής (Confidential)
Έτος
2024 - 2026
Διάρκεια
2024 - 2026
Ρόλος
Full-Stack Architect & Developer
Work Schedule (WSG)

Η πρόκληση

Η παρακολούθηση των κανονικών αδειών, των αναρρωτικών απουσιών, των ατομικών ωραρίων και των κυλιόμενων βαρδιών Σαββάτου για προσωπικό διαφορετικών τμημάτων απαιτούσε ένα κεντρικό, γρήγορο και αλάνθαστο πληροφοριακό σύστημα. Κρίσιμη απαίτηση αποτέλεσε ο ακριβής υπολογισμός των πραγματικών εργάσιμων ημερών (με αυτόματη εξαίρεση Σαββατοκύριακων και επίσημων ελληνικών αργιών, αλλά συμπερίληψη τυχόν ενεργών βαρδιών Σαββάτου), καθώς και η απρόσκοπτη μεταφορά του μη χρησιμοποιημένου υπολοίπου αδείας στο επόμενο έτος.

Παράλληλα, η εφαρμογή έπρεπε να λειτουργεί με ελάχιστο αποτύπωμα πόρων σε περιβάλλον Plesk Shared Hosting και να παράγει ευκρινείς ασπρόμαυρες εκτυπώσεις παρουσιολογίου σε μία σελίδα A4 Landscape για τους πίνακες ανακοινώσεων και το λογιστήριο.

Τι φτιάχτηκε

Το Work Schedule (WSG) είναι μια εσωτερική full-stack διαδικτυακή εφαρμογή διαχείρισης αδειών, αναρρωτικών απουσιών, ατομικών ωραρίων και βαρδιών Σαββάτου προσωπικού, σχεδιασμένη για επιχειρήσεις με πολλαπλά τμήματα που χρειάζονται αυτόματο υπολογισμό εργάσιμων ημερών, δυναμική μεταφορά υπολοίπου έτους και εκτυπώσιμα προγράμματα εργασίας.

Κεντρικός πίνακας ελέγχου και μηνιαίο ημερολόγιο αδειών προσωπικού στην εφαρμογή Work Schedule WSGΚεντρικός πίνακας ελέγχου (Dashboard) του WSG με σύνοψη προσωπικού, υπόλοιπα αδειών και διαδραστικό μηνιαίο ημερολόγιο παρουσιών.

Κεντρική Διαχείριση Προσωπικού, Αδειών & Παρουσιολογίου

Η καθημερινή οργάνωση του ανθρώπινου δυναμικού σε μια επιχείρηση εμπορίας και διανομής απαιτεί άμεση εικόνα για το ποιοι εργαζόμενοι βρίσκονται σε κανονική ή αναρρωτική άδεια, ποιο είναι το ακριβές υπόλοιπο ημερών τους και πώς κατανέμονται οι βάρδιες ανά τμήμα. Το Work Schedule (WSG) συγκεντρώνει όλες τις λειτουργίες διοίκησης προσωπικού σε ένα ενιαίο, ταχύτατο περιβάλλον εργασίας.

Κύρια Χαρακτηριστικά & Λειτουργικές Δυνατότητες

  • Πλήρης Κατάλογος Υπαλλήλων & Υπολοίπων: Παρακολούθηση ημερομηνίας πρόσληψης, τμήματος, ετήσιου δικαιώματος κανονικής άδειας, χρησιμοποιημένων ημερών άδειας και ασθένειας, καθώς και καθαρού υπολοίπου με διακριτή ένδειξη μεταφερόμενων ημερών από το προηγούμενο έτος.
  • Αυτόματος Υπολογιστής Εργάσιμων Ημερών & Επίσημων Αργιών: Κατά την καταχώρηση κάθε αιτήματος άδειας ή ασθένειας, η μηχανή υπολογισμού αναλύει το διάστημα ημερομηνιών μέσω του date-holidays (προφίλ Ελλάδας - GR) και του date-fns, αφαιρώντας αυτόματα τα Σαββατοκύριακα και τις επίσημες εθνικές/θρησκευτικές αργίες, ενώ προσμετρά κανονικά τις ημέρες όπου ο υπάλληλος έχει ενεργή επιπλέον εργασία.
  • Δυναμικό Κλείσιμο Έτους (Rollover Engine): Ενσωματωμένη λειτουργία μεταφοράς υπολοίπου που υπολογίζει σε ατομική συναλλαγή βάσης δεδομένων (SQLite Transaction) τις αχρησιμοποίητες ημέρες αδείας του προηγούμενου έτους (βάσει έτους πρόσληψης) και ενημερώνει αυτόματα τα δικαιώματα όλων των εργαζομένων.
  • Ατομικό Εβδομαδιαίο Ωράριο (ScheduleEditor): Δυνατότητα ορισμού εξατομικευμένου προγράμματος εργασίας ανά ημέρα της εβδομάδας (Δευτέρα έως Κυριακή) με ακριβείς ώρες έναρξης και λήξης βάρδιας για κάθε υπάλληλο.
  • Πίνακας Προγραμματισμού Σαββάτων 3μήνου: Εξειδικευμένη οθόνη που παράγει δυναμικά όλα τα Σάββατα των επόμενων τριών μηνών, επιτρέποντας την άμεση ανάθεση βάρδιας (Ενεργή / Ρεπό / Κενό) με ένα κλικ και τον αμφίδρομο συγχρονισμό με το κεντρικό ημερολόγιο.
  • Βελτιστοποιημένες Εκτυπώσεις Γραφείου (Print-Ready CSS): Ειδικά διαμορφωμένο σύστημα εκτύπωσης @media print σε διάταξη Landscape που μετατρέπει τους χρωματικούς κώδικες της οθόνης σε ευκρινή μοτίβα κλίμακας του γκρι και διαγώνιας γραμμοσκίασης (////), εξασφαλίζοντας άριστη αναγνωσιμότητα ακόμη και σε ασπρόμαυρους εκτυπωτές laser.

Οι οθόνες της εφαρμογής σε desktop και mobile

Σημείωση προστασίας δεδομένων: Για λόγους απορρήτου και προστασίας προσωπικών δεδομένων, όλες οι οθόνες παρουσίασης απεικονίζουν αποκλειστικά συνθετικά (dummy) στοιχεία εργαζομένων και τμημάτων.

Περιβάλλον Desktop (Διοίκηση & Προγραμματισμός)

Modal καταχώρησης νέου αιτήματος κανονικής άδειας ή επιπλέον εργασίας στο WSGΕνοποιημένο παράθυρο καταχώρησης νέου αιτήματος (Κανονική Άδεια, Αναρρωτική ή Επιπλέον Εργασία) με αυτόματο υπολογισμό εργάσιμων ημερών. Αναλυτικό ιστορικό αδειών και αναρρωτικών απουσιών εργαζομένου στο Work ScheduleΚαρτέλα ιστορικού εργαζομένου με πλήρη καταγραφή όλων των αδειών και ασθενειών, αιτιολογία και δυνατότητα άμεσης επεξεργασίας. Επεξεργασία καρτέλας υπαλλήλου και ατομικού εβδομαδιαίου ωραρίου ScheduleEditorΔιαχείριση καρτέλας υπαλλήλου, δικαιωμάτων αδείας, μεταφερόμενων ημερών και ατομικού εβδομαδιαίου ωραρίου (ScheduleEditor). Πίνακας προγραμματισμού βαρδιών Σαββάτου τριμήνου στο WSGΠίνακας προγραμματισμού Σαββάτων επόμενου τριμήνου με ταξινόμηση ανά όνομα ή τμήμα και αυτόματο συγχρονισμό με το ημερολόγιο. Διαχείριση εταιρικών τμημάτων και οργανωτικής δομής στην εφαρμογή WSGΔυναμική διαχείριση τμημάτων της επιχείρησης με αυτόματη ενημέρωση των συσχετισμένων εργαζομένων. Σελίδα διαχείρισης χρηστών και ρόλων πρόσβασης RBAC στο σύστημα WSGΔιαχείριση λογαριασμών πρόσβασης και ρόλων ασφαλείας (Διαχειριστές & Χρήστες) με κρυπτογράφηση κωδικών. Print-ready ασπρόμαυρη διάταξη εκτύπωσης μηνιαίου προγράμματος παρουσιών και αδειώνΠροβολή εκτύπωσης (Print-Ready Landscape) με διαγώνια μοτίβα γραμμοσκίασης και κλίμακα του γκρι για ασπρόμαυρους εκτυπωτές γραφείου.

Περιβάλλον Mobile (Responsive Έλεγχος εν Κινήσει)

Mobile προβολή του πίνακα ελέγχου και των υπολοίπων αδειών προσωπικού στο WSGMobile-first απεικόνιση του καταλόγου υπαλλήλων και των υπολοίπων αδειών για άμεσο έλεγχο από smartphone. Mobile καταχώρηση αιτήματος εργασίας Σαββάτου και επισκόπηση βαρδιών στο WSGΓρήγορη καταχώρηση επιπλέον εργασίας Σαββάτου και επισκόπηση προσεχών βαρδιών από κινητή συσκευή.

Στο παρασκήνιο: Τεχνική Αρχιτεκτονική & Ασφάλεια

Το Work Schedule (WSG) σχεδιάστηκε ώστε να συνδυάζει την εμπειρία μιας σύγχρονης Single-Page Application (SPA) με την αξιοπιστία ενός αυτοτελούς Node.js εξυπηρετητή:

  • Frontend με React 19 & Tailwind CSS v4: Η διεπαφή χρήστη έχει υλοποιηθεί σε React 19 και TypeScript, αξιοποιώντας το Tailwind CSS v4 για καθαρή τυπογραφία και το Motion (Framer Motion) για ομαλές μεταβάσεις παραθύρων διαλόγου.
  • Backend με Node.js 22, Express & Native SQLite: Ο εξυπηρετητής χρησιμοποιεί το ενσωματωμένο module node:sqlite (DatabaseSync) του Node.js 22, εξαλείφοντας εξωτερικές εξαρτήσεις C++ bindings και επιτρέποντας ακαριαία εκτέλεση ερωτημάτων SQL και ατομικών συναλλαγών (BEGIN TRANSACTION / COMMIT).
  • Αυτοτελές Production Bundle (esbuild): Μέσω ειδικού pipeline με Vite και esbuild, ολόκληρο το backend μεταγλωττίζεται σε ένα ενιαίο εκτελέσιμο αρχείο app.js, έτοιμο για απρόσκοπτη εκτέλεση σε περιβάλλοντα Plesk Shared Hosting.
  • Ασφαλής Αυθεντικοποίηση JWT & Bcrypt: Η πρόσβαση προστατεύεται με JSON Web Tokens (JWT) αποθηκευμένα σε HttpOnly και SameSite=Strict cookies, ενώ οι κωδικοί πρόσβασης αποθηκεύονται κατακερματισμένοι μέσω bcryptjs.

Η λύση

Σχεδιάστηκε και αναπτύχθηκε μια full-stack εφαρμογή με React 19, TypeScript, Tailwind CSS v4 και Node.js 22 (Express) με χρήση του native node:sqlite. Ενσωματώθηκε αλγόριθμος υπολογισμού εργάσιμων ημερών με αναγνώριση των ελληνικών επίσημων αργιών (date-holidays), αυτόματη μεταφορά υπολοίπου αδείας (Rollover) μέσω ατομικών συναλλαγών SQLite και εξειδικευμένος πίνακας προγραμματισμού Σαββάτων τριμήνου.

Το αποτέλεσμα

Η επιχείρηση απέκτησε πλήρη, σε πραγματικό χρόνο εικόνα των παρουσιών, των υπολοίπων κανονικής άδειας και του προγραμματισμού Σαββάτων για όλα τα τμήματα. Ο χρόνος υπολογισμού των ετήσιων υπολοίπων κατά το κλείσιμο έτους μειώθηκε σε κλάσματα δευτερολέπτου, ενώ οι έτοιμες προς εκτύπωση αναφορές διευκολύνουν την καθημερινή ενημέρωση διοίκησης και προσωπικού.

Γκαλερί