Η παρούσα πτυχιακή εργασία πρόκειται για την κατασκευή μιας διαδικτυακής εφαρμογής για την διαχείριση έργων. Κύριος στόχος της εφαρμογής είναι η απλότητα χρήσης και ικανοποίηση βασικών αναγκών για την εύκολη και αποτελεσματική διαχείριση ενός έργου. Επομένως, ο χρήστης έχοντας δημιουργήσει έναν λογαριασμό θα μπορεί να διαχειριστεί ή να ενταχθεί σε πολλαπλά έργα. ΄Ενα έργο περιλαμβάνει ένα η περισσότερους χρήστες με διάφορους ρόλους (manager, member, project manager). Οποιοδήποτε μέλος της ομάδας θα μπορεί να ορίσει εργασίες (assignments), σε ένα η περισσότερα μέλη, χρησιμοποιώντας η μη τις εξαρτήσεις εργασιών (dependencies). Επιπλέον, ο χρήστης θα έχει την δυνατότητα να παρακολουθεί όλα τα assignments που του έχουν ανατεθεί σε όλα τα ενεργά project, αλλά και σε κάθε έργο ιδιαιτέρως. Ο οπτικός τρόπος αναπαράστασης είναι διαθέσιμος και στις δύο περιπτώσεις σε μορφή πίτας και διάγραμμα Gantt. Επιπροσθέτως, κάθε έργο έχει ένα κανάλι επικοινωνίας για την ομαλή διεξαγωγή του έργου και ένα γενικό ημερολόγιο όπου προσθέτονται συμβάντα προσωπικά η επί το έργο. Δεύτερος στόχος της εργασίας αυτής, είναι να συνδυαστούν σωστά δύο γνωστά πρότυπα προγραμματισμού, «Αντικειμενοστραφής» και «Αντιδραστικός». Οι τεχνολογίες που θα χρησιμοποιηθούν ακολουθούν το πακέτο «MEAN»: MongoDB ως βάση δεδομένων, ExpressJS για την διοργάνωση server-side, το ισχυρό Angular (6.0.0-beta7) για client-side και NodeJS ως server, στα οποία προσθέτωνται το Socket.io και RxJS.
The purpose of this dissertation is to build a web application for project management. The main target of the application is to be simple to use and satisfy basic needs for an easy and efficient management of projects. Therefore, the user after having created an account will be able to join or manage multiple projects. One project involves one or more users with different roles (manager, member, project manager). Any member of the team will be able to assign assignments to one or more of its project colleagues using or not assignment dependencies. In addition, the user will be able to monitor all assignments that have been assigned to him across all active projects, but also the project assignments in particular. Visual representation is available in both cases in form of Pie Chart and Gantt chart. As well, each project has a communication channel for smooth flow of it and a general calendar where personal or project events are added. The second objective of this dissertation seeing implementation is to correctly combinetwowell-knownprogrammingparadigms,namely”ObjectiveOriented”and ”Reactive”. The technologies to be used follow the “MEAN”package: MongoDBasadatabase, ExpressJS for server-side organizing, the powerful Angular (6.0.0-beta7) for clientside and NodeJS as server, adding Socket.io and RxJS to this list.