From 0ba410fb1ea36ee77b580fbeebbfaea0c84c8b0d Mon Sep 17 00:00:00 2001 From: Ezerous Date: Fri, 7 Jan 2022 14:32:43 +0200 Subject: [PATCH 1/4] fix: chapter 3 fixes --- .../3.1.idea-conception.tex | 4 ++-- .../3.2.technology-stack.tex | 2 +- .../3.3.design-methodology.tex | 2 +- .../3.4.user-categories.tex | 2 +- .../3.5.software-requirements.tex | 2 +- ...plementation-methodology-specification.tex | 2 +- thesis.pdf | Bin 9131976 -> 9131822 bytes 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/chapters/3.application-design/3.1.idea-conception.tex b/chapters/3.application-design/3.1.idea-conception.tex index f8f08d3..c265945 100644 --- a/chapters/3.application-design/3.1.idea-conception.tex +++ b/chapters/3.application-design/3.1.idea-conception.tex @@ -2,10 +2,10 @@ Η σύλληψη της ιδέας για τη δημιουργία της εφαρμογής της παρούσας διπλωματικής εργασίας είχε ως εφαλτήριο την αναγνώριση ενός διδιάστατου προβλήματος. -Η πρώτη διάσταση εστιάζει στον χώρο των μέσων κοινωνικής δικτύωσης. Εκεί παρατηρείται αδιαμφισβήτη επικράτηση πλατφορμών επικοινωνίας συγκεντρωτικής μορφής (π.χ. Facebook, Twitter, Instagram), ενώ προσπάθειες δηιουργίας αντίστοιχων αποκεντρωτικών εφαρμογών βρίσκονται σε πρώιμα στάδια, τόσο ανάπτυξης, όσο και υιοθέτησης από το ευρύ κοινό. Όπως αναλύθηκε και στην ενότητα \ref{section:1-3-problem-definition}, η τρέχουσα αυτή κατάσταση θέτει αξιοσημείωτα προβλήματα τεχνικής φύσεως (έλλεψη ασφάλειας και διαθεσιμότητας) και, κυρίως, πολιτικής (έλλειψη εμπιστοσύνης, εγγύησης της αυθεντικότητας των δεδομένων και της ελευθερίας του λόγου). +Η πρώτη διάσταση εστιάζει στον χώρο των μέσων κοινωνικής δικτύωσης. Εκεί παρατηρείται αδιαμφισβήτητη επικράτηση πλατφορμών επικοινωνίας συγκεντρωτικής μορφής (π.χ. Facebook, Twitter, Instagram), ενώ προσπάθειες δημιουργίας αντίστοιχων αποκεντρωτικών εφαρμογών βρίσκονται σε πρώιμα στάδια, τόσο ανάπτυξης, όσο και υιοθέτησης από το ευρύ κοινό. Όπως αναλύθηκε και στην ενότητα \ref{section:1-3-problem-definition}, η τρέχουσα αυτή κατάσταση θέτει αξιοσημείωτα προβλήματα τεχνικής φύσεως (έλλειψη ασφάλειας και διαθεσιμότητας) και, κυρίως, πολιτικής (έλλειψη εμπιστοσύνης, εγγύησης της αυθεντικότητας των δεδομένων και της ελευθερίας του λόγου). Η δεύτερη διάσταση εστιάζει στον χώρο της ψηφιακής δημοκρατίας (digital democracy). Συγκεκριμένα, παρατηρείται έλλειψη εργαλείων, ικανών να παρέχουν τη δυνατότητα διενέργειας αυθεντικών δημοκρατικών διαδικασιών. Ψηφοφορίες και αυτοδιαχείριση εντός συστημάτων κεντροποιημένης λογικής αδυνατούν, για αρχιτεκτονικούς λόγους, να εξασφαλίσουν τις απαραίτητες θεμελιώδεις ιδιότητες τέτοιων διαδικασιών, δηλαδή της ανωνυμίας και της επαληθευσιμότητας. -Βάσει των παραπάνω, γεννήθηκε η ιδέα δημιουργίας μίας εφαρμογής, η οποία, μέσω ενός προτεινόμενου συνδυασμού αποκεντρωτικών τεχνολογιών, να ορίσει έναν ψηφιακό χώρο που θα έρθει αντιμέτωπος με τα παραπάνω. Έτσι, κεντρικός στόχος της πιλοτικής εφαρμογής Concordia, είναι να αποτελέσει μία αυτόνομη κοινωνική πλατφόρμα, που θα κατοχυρώνει στους χρήστες της ελευθερία του λόγου και πλήρη κυριότητα επί των δεδομένων τους. Επιπλέον, θα παρέχει τη δυνατότητα διενέργειας αυθεντικών, ανώνυμων ψηφοφοριών, κάτι που θα την καθιστά ένα αξιόπιστο δημοκρατικό βήμα για τη λήψη αποφάσεων εντός αυτοδιαχειριζόμενων κοινοτήτων της. +Βάσει των παραπάνω, γεννήθηκε η ιδέα δημιουργίας μίας εφαρμογής, η οποία, μέσω ενός προτεινόμενου συνδυασμού αποκεντρωτικών τεχνολογιών, να ορίσει έναν ψηφιακό χώρο που θα έρθει αντιμέτωπος με τα παραπάνω. Έτσι, κεντρικός στόχος της πιλοτικής εφαρμογής Concordia, είναι να αποτελέσει μία αυτόνομη κοινωνική πλατφόρμα, που θα κατοχυρώνει στους χρήστες της ελευθερία του λόγου και πλήρη κυριότητα επί των δεδομένων τους. Επιπλέον, θα παρέχει τη δυνατότητα διενέργειας αυθεντικών, ανώνυμων ψηφοφοριών, κάτι που θα την καθιστά ένα αξιόπιστο δημοκρατικό βήμα για τη λήψη αποφάσεων εντός των αυτοδιαχειριζόμενων κοινοτήτων της. \newpage \ No newline at end of file diff --git a/chapters/3.application-design/3.2.technology-stack.tex b/chapters/3.application-design/3.2.technology-stack.tex index 28fabb3..3c91085 100644 --- a/chapters/3.application-design/3.2.technology-stack.tex +++ b/chapters/3.application-design/3.2.technology-stack.tex @@ -5,7 +5,7 @@ \begin{enumerate} \item \textbf{Presentation tier}: Αποτελεί τη διεπαφή του χρήστη (user interface ή UI), μέσω της οποίας ο τελευταίος αλληλεπιδρά με την εφαρμογή. Για την εκπλήρωση των προδιαγραφών, το μοναδικό απαραίτητο χαρακτηριστικό αυτού του τμήματος είναι να μπορεί να εκτελείται αυτούσιο από τη συσκευή του τελικού χρήστη, δηλαδή να μην απαιτείται η ύπαρξη κάποιου εξυπηρετητή για τη λειτουργία του. Λαμβάνοντας, επιπροσθέτως, υπόψιν τις ανάγκες και τους περιορισμούς των λογισμικών των άλλων δύο επιπέδων, το παρόν κομμάτι αποφασίστηκε να σχεδιαστεί ως μία client-side web application σε HTML/CSS/JavaScript. - \item \textbf{Application tier}: Πρόκειται για το επίπεδο που πραγματοποιεί την επεξεργασία (\textenglish{processing}) της εφαρμογης. Εδώ επιλέχθηκαν το blockchain και τα smart contracts, καθώς τα πλεονεκτήματά τους, όπως αυτά περιγράφηκαν στο κεφάλαιο \ref{chapter:2-theoretical-background}, αρμόζουν απόλυτα με τις ιδιαίτερες απαιτήσεις της εφαρμογής. Συγκεκριμένα, επιλέχθηκε η πλατφόρμα του Ethereum, καθώς αποτελεί τον πρωτοπόρο στο χώρο, διαθέτοντας την ισχυρότερη κοινότητα και την δυνατότητα δημιουργίας πλήρως λειτουργικών εφαρμογών. + \item \textbf{Application tier}: Πρόκειται για το επίπεδο που πραγματοποιεί την επεξεργασία (\textenglish{processing}) της εφαρμογής. Εδώ επιλέχθηκαν το blockchain και τα smart contracts, καθώς τα πλεονεκτήματά τους, όπως αυτά περιγράφηκαν στο κεφάλαιο \ref{chapter:2-theoretical-background}, αρμόζουν απόλυτα με τις ιδιαίτερες απαιτήσεις της εφαρμογής. Συγκεκριμένα, επιλέχθηκε η πλατφόρμα του Ethereum, καθώς αποτελεί τον πρωτοπόρο στο χώρο, διαθέτοντας την ισχυρότερη κοινότητα και την δυνατότητα δημιουργίας πλήρως λειτουργικών εφαρμογών. \item \textbf{Data tier}: Το τμήμα αυτό είναι υπεύθυνο για την αποθήκευση του κύριου όγκου των δεδομένων (storage). Για την επίτευξη πλήρους αρχιτεκτονικής αποκέντρωσης των δεδομένων επιλέχθηκε το IPFS (βλ. ενότητα \ref{section:2-7-ipfs}), το οποίο διανέμει το περιεχόμενο της εφαρμογής στους peers που συμμετέχουν σε αυτήν, χωρίς να απαιτεί κάποιο κεντρικό σημείο. Έτσι, κάθε χρήστης θα έχει πλήρη κυριότητα επί των δεδομένων του, ενώ, επιπλέον, θα συμμετέχει στην πλατφόρμα διαμοιράζοντας τα δεδομένα άλλων χρηστών. \end{enumerate} diff --git a/chapters/3.application-design/3.3.design-methodology.tex b/chapters/3.application-design/3.3.design-methodology.tex index f294591..675a15c 100644 --- a/chapters/3.application-design/3.3.design-methodology.tex +++ b/chapters/3.application-design/3.3.design-methodology.tex @@ -10,7 +10,7 @@ Το Kanban είναι μία μέθοδος οργάνωσης έργων και οπτικοποίησης των μονάδων εργασίας (tasks) που απαιτούνται για την ολοκλήρωσή τους. Στο Kanban ορίζονται τα βασικά στάδια της ροής ενός task και χρησιμοποιούνται οπτικά μέσα ώστε να γίνει ιχνηλάτηση τόσο της συνολικής κατάστασης του έργου, όσο και συγκεκριμένων-μεμονωμένων tasks καθώς αυτά προοδεύουν. Για κάθε στάδιο ολοκλήρωσης ορίζεται μία ξεχωριστή ουρά εργασιών (στήλη), για παράδειγμα "σε αναμονή", "σε εξέλιξη", "ολοκληρωμένο". Χρησιμοποιούνται οπτικά σινιάλα (χρώματα, tags και άλλα) για τον διαχωρισμό και την γρήγορη κατανόηση των σημαντικότερων γνωρισμάτων των tasks, για παράδειγμα ξεχωριστό tag για κάθε υπηρεσία στην οποία αναφέρεται το task. Επίσης, ορίζονται όρια στον αριθμό των tasks που μπορούν να είναι ταυτόχρονα σε εξέλιξη. -Μία άλλη Agile μέθοδος είναι το SCRUM. Το SCRUM χρησιμοποιεί και επεκτείνει το Kanban. Η βασικές διαφορές του με το Kanban είναι ότι στο SCRUM υπάρχουν πιο αυστηρές διαδικασίες. Ορίζονται προγραμματιστικοί κύκλοι (sprints) οι οποίοι έχουν συγκεκριμένες ημερομηνίες έναρξης και λήξης και συγκεκριμένους στόχους οι οποίοι αντικατοπτρίζονται σε στόχους ολοκλήρωσης ορισμένων tasks. Οι ρόλοι είναι σαφέστεροι, με κάθε μέλος της ομάδας να αναλαμβάνει διαφορετικές ευθύνες στην οργάνωση και εκτέλεση. Για την διαδικασία ανάπτυξης, υπήρξε πολύ χρήσιμη η χρήση του SCRUM σε περιόδους όπου ήταν αναγκαία η ταχύτατη ανάπτυξη καίριων μερών του συστήματος. Λόγω της αυστηρότητας που επιβάλλεται από αυτό, ειδικά σε ό,τι αφορά τις προθεσμίες ολοκλήρωσης των επιμέρους tasks αλλά και του συνολικού sprint. +Μία άλλη Agile μέθοδος είναι το Scrum. Το Scrum χρησιμοποιεί και επεκτείνει το Kanban. Η βασικές διαφορές του με το Kanban είναι ότι στο Scrum υπάρχουν πιο αυστηρές διαδικασίες. Ορίζονται προγραμματιστικοί κύκλοι (sprints) οι οποίοι έχουν συγκεκριμένες ημερομηνίες έναρξης και λήξης και συγκεκριμένους στόχους οι οποίοι αντικατοπτρίζονται σε στόχους ολοκλήρωσης ορισμένων tasks. Οι ρόλοι είναι σαφέστεροι, με κάθε μέλος της ομάδας να αναλαμβάνει διαφορετικές ευθύνες στην οργάνωση και εκτέλεση. Για την διαδικασία ανάπτυξης, υπήρξε πολύ χρήσιμη η χρήση του Scrum σε περιόδους όπου ήταν αναγκαία η ταχύτατη ανάπτυξη καίριων μερών του συστήματος. Λόγω της αυστηρότητας που επιβάλλεται από αυτό, ειδικά σε ό,τι αφορά τις προθεσμίες ολοκλήρωσης των επιμέρους tasks αλλά και του συνολικού sprint. Καθώς η αναπτυξιακή διαδικασία ωριμάζει και η πλατφόρμα αποτελεί ένα βιώσιμο προϊόν, είναι χρήσιμη η ύπαρξη ενός συστήματος που να διευκολύνει την άμεση δημιουργία και δημοσίευση των νεότερων εκδόσεων. Μερικές εξαιρετικές μέθοδοι για την απρόσκοπτη και αυτοματοποιημένη επίτευξη του στόχου αυτού ορίζονται από το DevOps. Με τον όρο DevOps (development operations) αναφέρεται μία κουλτούρα σχεδίασης και ανάπτυξης λογισμικού που ορίζει τους ρόλους, τις διαδικασίες και τεχνολογίες της με σκοπό την συνεχή δημιουργία αξίας για τους χρήστες. Το DevOps έχει πολύ στενή σχέση με το Agile και αποτελεί την συνέχιση της νοοτροπίας αυτής στον χώρο. diff --git a/chapters/3.application-design/3.4.user-categories.tex b/chapters/3.application-design/3.4.user-categories.tex index d5b6731..53b26a2 100644 --- a/chapters/3.application-design/3.4.user-categories.tex +++ b/chapters/3.application-design/3.4.user-categories.tex @@ -40,7 +40,7 @@ \bottomrule \end{tabularx} \begin{tablenotes} - \item[*] \footnotesize{Μόνο στις υποκοινότητες στις οποίες κατέχει το αντίστοιχο token και σε αυτές οι οποίες δεν έχουν ορισμένο token.} + \item[*] \footnotesize{Μόνο στις κοινότητες στις οποίες κατέχει το αντίστοιχο token και σε αυτές οι οποίες δεν έχουν ορισμένο token.} \end{tablenotes} \end{center} \caption{Δικαιώματα χρήσης ανά κατηγορία χρήστη} diff --git a/chapters/3.application-design/3.5.software-requirements.tex b/chapters/3.application-design/3.5.software-requirements.tex index 06b96eb..4d76a7c 100644 --- a/chapters/3.application-design/3.5.software-requirements.tex +++ b/chapters/3.application-design/3.5.software-requirements.tex @@ -1,4 +1,4 @@ -\section{Απαιτήσεις λογισμικού} \label{section:3-5-software-requirements} +\section{Απαιτήσεις λογισμικού} \label{section:3-5-software-requirements} %TODO: clean up section Στην παρούσα ενότητα περιγράφονται οι βασικές απαιτήσεις λογισμικού ( \textenglish{software requirements}) της εφαρμογής. diff --git a/chapters/3.application-design/3.8.implementation-methodology-specification.tex b/chapters/3.application-design/3.8.implementation-methodology-specification.tex index 6da38ce..2292d31 100644 --- a/chapters/3.application-design/3.8.implementation-methodology-specification.tex +++ b/chapters/3.application-design/3.8.implementation-methodology-specification.tex @@ -17,4 +17,4 @@ \label{figure:3.8.implementation-methodology-specification-sprints} \end{figure} -TODO: add tasks for serve (front and contracts) thru IPFS, upgradability +%TODO: add tasks for serve (front and contracts) thru IPFS, upgradability diff --git a/thesis.pdf b/thesis.pdf index 87a4fff9f3ac25178ef9f9fc69d507b30e02466b..0c520d554b6cc7ad83bc8d19fa1139a3871106f9 100644 GIT binary patch delta 27802 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

y~7* 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 delta 27961 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 From cdd5db1482df7322690f1c41b9dc5f73c689d483 Mon Sep 17 00:00:00 2001 From: Ezerous Date: Tue, 11 Jan 2022 14:34:32 +0200 Subject: [PATCH 2/4] fix: clean up section 3.5 --- .../3.5.software-requirements.tex | 86 +++++++++--------- .../3.6.4.use-case-fetch-topic.tex | 2 +- .../4.5.implemented-parts.tex | 2 +- thesis.pdf | Bin 9131822 -> 9132376 bytes 4 files changed, 45 insertions(+), 45 deletions(-) diff --git a/chapters/3.application-design/3.5.software-requirements.tex b/chapters/3.application-design/3.5.software-requirements.tex index 4d76a7c..8ce0d55 100644 --- a/chapters/3.application-design/3.5.software-requirements.tex +++ b/chapters/3.application-design/3.5.software-requirements.tex @@ -1,4 +1,4 @@ -\section{Απαιτήσεις λογισμικού} \label{section:3-5-software-requirements} %TODO: clean up section +\section{Απαιτήσεις λογισμικού} \label{section:3-5-software-requirements} Στην παρούσα ενότητα περιγράφονται οι βασικές απαιτήσεις λογισμικού ( \textenglish{software requirements}) της εφαρμογής. @@ -8,93 +8,93 @@ \sysReqItem {\label{srs:functional-srs-sign-up}} {Ο χρήστης πρέπει να μπορεί να εγγραφεί στην εφαρμογή με τον Ethereum λογαριασμό του.} - {Ο χρήστης πρέπει να μπορεί να εγγραφεί στην εφαρμογή, πατώντας το κουμπί "Sign Up" και συμπληρώνοντας τα απαραίτητα πεδία σύμφωνα με τις οδηγίες. Το πεδίο "Username" είναι υποχρεωτικό να συμπληρωθεί και ορίζεται με μοναδικό τρόπο. Σε περίπτωση που ο χρήστης εισάγει μη διαθέσιμο Username, το σύστημα θα πρέπει να μην επιτρέπει στον χρήστη να συνεχίσει και να προβάλει αντίστοιχο μήνυμα λάθους. Τα πεδία "Profile picture URL" και "Location" είναι προαιρετικά.} - {5}{Η απαίτηση είναι ύψιστης προτεραιότητας για τους επισκέπτες καθώς μόνο μέσω της εγγραφής μπορούν να χρησιμοποιήσουν τα υπόλοιπα χαρακτηριστικά της εφαρμογής.} - {5}{Η απαίτηση αυτή είναι ύψιστης σημασίας για το σύστημα επειδή επηρεάζει τη λειτουργικότητά του.} + {Ο χρήστης πρέπει να μπορεί να εγγραφεί στην εφαρμογή, πατώντας το κουμπί "Sign Up" και συμπληρώνοντας τα απαραίτητα πεδία σύμφωνα με τις οδηγίες. Το πεδίο "Username" είναι υποχρεωτικό να συμπληρωθεί με το επιθυμητό username, το οποίο ορίζεται με μοναδικό τρόπο. Σε περίπτωση που ο χρήστης εισάγει μη διαθέσιμο Username, το σύστημα θα πρέπει να μην επιτρέπει στον χρήστη να συνεχίσει και να προβάλει αντίστοιχο μήνυμα λάθους. Επιπλέον, υπάρχουν τα προαιρετικά πεδία "Profile picture URL" και "Location", στα οποία ο χρήστης μπορεί να εισάγει μία εικόνα προφίλ και την τοποθεσία του αντίστοιχα.} + {5}{Η απαίτηση είναι ύψιστης προτεραιότητας για τους επισκέπτες, καθώς μόνο μέσω της εγγραφής μπορούν να χρησιμοποιήσουν τα υπόλοιπα χαρακτηριστικά της εφαρμογής (όπως φαίνεται στον πίνακα \ref{table:3-4-user-category-permissions}).} + {5}{Η απαίτηση είναι ύψιστης σημασίας για το σύστημα, επειδή επηρεάζει τη λειτουργικότητά του.} \sysReqItem {\label{srs:functional-srs-sign-in}} - {Ο χρήστης πρέπει να συνδέεται αυτόματα, εφόσον είναι εγγεγραμμένος.} + {Ο χρήστης πρέπει να μπορεί συνδέεται στην εφαρμογή, εφόσον είναι εγγεγραμμένος.} {Το σύστημα πρέπει να διαπιστώνει αυτόματα εάν το τρέχον Ethereum address έχει λογαριασμό στην εφαρμογή και εάν ναι, να συνδέει να τον χρήστη, ανακτώντας το Username του από το blockchain και προβάλλοντας το στο μενού.} - {5}{Η απαίτηση είναι ύψιστης προτεραιότητας για τους επισκέπτες καθώς μέσω της σύνδεσης ενεργοποιούνται τα χαρακτηριστικά της δημιουργίας θεμάτων και δημοσίευσης μηνυμάτων.} - {1}{Η σύνδεση αφορά μόνο τη γραφική διεπαφή του χρήστη με την πλατφόρμα και δεν αποτελεί στοιχείο που επιδρά στο υπόλοιπο σύστημα.} + {5}{Αυτή η απαίτηση είναι ύψιστης προτεραιότητας για τους χρήστες, καθώς μέσω της σύνδεσης ενεργοποιούνται τα χαρακτηριστικά της δημιουργίας θεμάτων και δημοσίευσης μηνυμάτων.} + {5}{Η απαίτηση είναι ύψιστης σημασίας για το σύστημα, επειδή επηρεάζει τη λειτουργικότητά του.} \sysReqItem {\label{srs:functional-srs-create-user-databases}} - {Το σύστημα πρέπει να δημιουργεί τις βάσεις δεδομένων του χρήστη.} - {Το σύστημα πρέπει να δημιουργεί τις βάσεις δεδομένων του χρήστη, εάν αυτές δεν υπάρχουν ήδη τοπικά. Όταν ο χρήστης ξεκλειδώσει τον Ethereum λογαριασμό του, το σύστημα θα πρέπει να τον προτρέπει να υπογράψει με το ιδιωτικό του κλειδί μία συναλλαγή που θα εξασφαλίζει τη γνησιότητα των βάσεών του και των δεδομένων που αυτές θα εμπεριέχουν.} - {5}{Η απαίτηση αυτή είναι υψηλής σημασίας για τον χρήστη καθώς η δημιουργία των βάσεων είναι απαραίτητη για την διατήρηση των δεδομένων που δημοσιοποιεί.} - {5}{Η απαίτηση αυτή είναι υψηλής σημασίας για το σύστημα για τους ίδιους λόγους.} + {Το σύστημα πρέπει να δημιουργεί τις απαραίτητες βάσεις δεδομένων και να τις συγχρονίζει με το δίκτυο.} + {Το σύστημα πρέπει να δημιουργεί τις απαραίτητες OrbitDB βάσεις δεδομένων, εάν αυτές δεν υπάρχουν ήδη τοπικά. Όταν ο χρήστης ξεκλειδώνει τον Ethereum λογαριασμό του, το σύστημα θα πρέπει να τον προτρέπει να υπογράψει με το ιδιωτικό του κλειδί τη συναλλαγή δημιουργίας της OrbitDB Identity του. Αυτή θα εξασφαλίζει τη γνησιότητα των βάσεών του και των δεδομένων που εκείνες θα περιέχουν. Επιπλέον, τοπικές βάσεις δεδομένων θα πρέπει να συγχρονίζονται με τις βάσεις άλλων IPFS κόμβων και να διατηρούνται ενημερωμένες.} + {5}{Η απαίτηση αυτή είναι ύψιστης σημασίας για τους χρήστες, καθώς η πλειοψηφία των δεδομένων της εφαρμογής διατηρούνται σε αυτές τις βάσεις.} + {5}{Η παρούσα απαίτηση είναι ύψιστης σημασίας για το σύστημα, καθώς οι περισσότερες θεμελιώδεις λειτουργίες της εφαρμογής προϋποθέτουν την αποθήκευση δεδομένων σε OrbitDB βάσεις.} \sysReqItem {\label{srs:functional-srs-create-topic}} {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να δημιουργεί θέματα (topics).} {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να δημιουργεί νέα θέματα. Αυτό το επιτυγχάνει πατώντας το κουμπί "New Topic", συμπληρώνοντας τα υποχρεωτικά πεδία της φόρμας ("Topic subject" και "First post content"), πατώντας το κουμπί "Create Topic" και επιβεβαιώνοντας τη συναλλαγή στο Ethereum.} - {5}{Η απαίτηση αυτή είναι υψηλής σημασίας καθώς επιτελεί έναν από τους βασικούς στόχους της πλατφόρμας.} - {5}{Η απαίτηση αυτή είναι υψηλής σημασίας για τον ίδιο λόγο.} + {5}{Αυτή η απαίτηση είναι υψηλής σημασίας καθώς επιτελεί έναν από τους βασικούς στόχους της πλατφόρμας.} + {5}{Η απαίτηση είναι υψηλής σημασίας για τον ίδιο λόγο.} \sysReqItem - {\label{srs:functional-srs-browse-topics}} - {Ο χρήστης πρέπει να μπορεί να περιηγείται σε θέματα.} - {Το σύστημα πρέπει να μπορεί να προβάλλει τα θέματα που έχουν δημιουργηθεί στην αρχική οθόνη. Ο χρήστης πρέπει να μπορεί να περιηγείται σε αυτά πατώντας πάνω τους και, έπειτα, χρησιμοποιώντας τα βέλη, να περιηγηθεί στο ιστορικό των μηνυμάτων του θέματος.} - {5}{Η απαίτηση αυτή είναι υψηλής σημασίας επειδή επιτρέπει στους επισκέπτες να έχουν πρόσβαση στο υλικό που είναι δημοσιευμένο στην πλατφόρμα.} - {5}{Η απαίτηση αυτή είναι υψηλής σημασίας επειδή αποτελεί βασικό χαρακτηριστικό της πλατφόρμας για την χρηστικότητά της.} + {\label{srs:functional-srs-browse-community-topics}} + {Ο χρήστης πρέπει να μπορεί να περιηγείται στα θέματα μίας κοινότητας.} + {Το σύστημα πρέπει να μπορεί να προβάλλει τα δημιουργημένα θέματα μίας κοινότητας στην αρχική οθόνη της. Ο χρήστης πρέπει να μπορεί να περιηγείται σε αυτά πατώντας πάνω τους και, έπειτα, χρησιμοποιώντας τα βέλη πλοήγησης, να περιηγηθεί στο ιστορικό των μηνυμάτων του θέματος.} + {5}{Η απαίτηση αυτή είναι υψηλής σημασίας, αφού επιτρέπει στους επισκέπτες να έχουν πρόσβαση στο δημοσιευμένο υλικό της πλατφόρμας.} + {5}{Πρόκετια για απαίτηση υψηλής σημασίας, επειδή αποτελεί βασικό χαρακτηριστικό για τη χρηστικότητα της πλατφόρμας.} \sysReqItem {\label{srs:functional-srs-create-post}} {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να δημιουργεί μηνύματα (posts).} {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να δημιουργεί μηνύματα στο θέμα που επιθυμεί. Αυτό επιτυγχάνεται συμπληρώνοντας το πεδίο νέου μηνύματος στην οθόνη του θέματος, πατώντας το κουμπί "Post" και επιβεβαιώνοντας τη συναλλαγή στο Ethereum.} - {5}{Η απαίτηση αυτή είναι ύψιστης σημασίας για τους χρήστες επειδή αποτελεί ένα από τα βασικότερα χαρακτηριστικά της πλατφόρμας.} - {5}{Η απαίτηση αυτή είναι υψίστης σημασίας για το σύστημα καθώς αποτελεί θεμελιώδες κομμάτι για την επίτευξη του βασικότερου στόχου της, αυτού της δημιουργίας διαλόγου.} + {5}{Αυτή η απαίτηση είναι ύψιστης σημασίας για τους χρήστες, επειδή αποτελεί ένα από τα βασικότερα χαρακτηριστικά της πλατφόρμας.} + {5}{Η απαίτηση αυτή είναι ύψιστης σημασίας για το σύστημα, καθώς αποτελεί θεμελιώδες κομμάτι για την επίτευξη του βασικότερου στόχου της, δηλαδή της δημιουργίας διαλόγου.} \sysReqItem {\label{srs:functional-srs-modify-post}} {Ο χρήστης πρέπει να μπορεί να τροποποιεί τα μηνύματά του.} - {Ο χρήστης πρέπει να μπορεί να τροποποιεί τα μηνύματά του. Αυτό το επιτυγχάνει πατώντας το κουμπί επεξεργασίας στο εκάστοτε μήνυμα, τροποποιώντας το μήνυμα και πατώντας το κουμπί επιβεβαίωσης. Στη συνέχεια, το σύστημα τροποποιεί το περιεχόμενο του μηνύματος στη βάση δεδομένων του χρήστη ανάλογα. Σε περίπτωση που ο χρήστης αλλάξει γνώμη κατά τη διάρκεια της διαδικασίας της επεξεργασίας, μπορεί να πατήσει το κουμπί ακύρωσης και να αναιρέσει τις αλλαγές που πραγματοποίησε.} - {4}{Η απαίτηση αυτή αποτελεί σημαντικό χαρακτηριστικό που απευθύνεται κυρίως στην χρηστικότητα της πλατφόρμας.} - {3}{Η απαίτηση αυτή είναι μέτριας σημαντικότητας για το σύστημα επειδή αυτό θα μπορούσε να είναι λειτουργικό χωρίς το χαρακτηριστικό της επεξεργασίας μηνυμάτων.} + {Ο χρήστης πρέπει να μπορεί να τροποποιεί τα μηνύματά του. Αυτό το επιτυγχάνει επιλέγοντας το κουμπί επεξεργασίας στο εκάστοτε μήνυμα, πραγματοποιώντας τις επιθυμητές τροποποιήσεις και πατώντας το κουμπί επιβεβαίωσης. Στη συνέχεια, το σύστημα τροποποιεί το περιεχόμενο του μηνύματος στη βάση δεδομένων του χρήστη. Σε περίπτωση που ο χρήστης αλλάξει γνώμη κατά τη διάρκεια της διαδικασίας της επεξεργασίας, μπορεί να πατήσει το κουμπί ακύρωσης και να αναιρέσει τις αλλαγές που πραγματοποίησε.} + {4}{Η απαίτηση αυτή αποτελεί σημαντικό χαρακτηριστικό, καθώς παρέχει στους χρήστες άμεσο έλεγχο επί των δεδομένων τους.} + {3}{Αυτή η απαίτηση είναι μέτριας σημαντικότητας για το σύστημα, επειδή αυτό θα μπορούσε να είναι λειτουργικό χωρίς το χαρακτηριστικό της επεξεργασίας μηνυμάτων.} \sysReqItem {\label{srs:functional-srs-vote-posts}} {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να ψηφίζει σε μηνύματα άλλων χρηστών.} {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να υπερψηφίζει ή να καταψηφίζει μηνύματα άλλων χρηστών. Αυτό το επιτυγχάνει πατώντας τα παρακείμενα κουμπιά "+" ή "-" αντίστοιχα και επιβεβαιώνοντας τη συναλλαγή στο Ethereum (οι ψήφοι αποθηκεύονται εκεί). Η διαδικασία ισχύει και για την τροποποίηση ή την αφαίρεση μίας ψήφου από τον χρήστη.} - {3}{Η απαίτηση αυτή είναι μέτριας σημασίας για τους χρήστες καθώς αποτελεί ένα χρήσιμο αλλά όχι απαραίτητο χαρακτηριστικό.} - {4}{Η απαίτηση αυτή είναι μεγάλης σημασίας για το σύστημα επειδή δημιουργεί δεδομένα τα οποία είναι χρήσιμα για τον υπολογισμό της εμπιστοσύνης των χρηστών.} + {3}{Η παρούσα απαίτηση είναι μέτριας σημασίας για τους χρήστες, καθώς αποτελεί ένα χρήσιμο αλλά όχι απαραίτητο χαρακτηριστικό.} + {2}{Η απαίτηση είναι χαμηλής σημασίας για τη λειτουργικότητα του συστήματος. Ωστόσο, τα δημιουργημένα δεδομένα μπορεί να είναι χρήσιμα σε μελλοντική επέκταση της εφαρμογής (π.χ. για τον υπολογισμό της εμπιστοσύνης των χρηστών).} \sysReqItem {\label{srs:functional-srs-create-polls}} {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να δημιουργεί ψηφοφορίες (polls).} - {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να δημιουργεί ψηφοφορίες. Αυτό το επιτυγχάνει πατώντας "Add Poll" στην οθόνη δημιουργία θέματος και συμπληρώνοντας τα απαραίτητα πεδία.} - {5}{Η απαίτηση αυτή είναι ύψιστης σημασίας για τους χρήστες καθώς οι αμεσοδημοκρατικές διαδικασίες αποτελούν μία από τις κυριότερες χρήσεις της πλατφόρμας} - {5}{Η απαίτηση αυτή είναι μεγάλης σημασίας για το σύστημα επειδή αποτελεί βασική προδιαγραφή του.} + {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να δημιουργεί ψηφοφορίες στις κοινότητες που του το επιτρέπουν. Αυτό το επιτυγχάνει πατώντας "Add Poll" στην οθόνη δημιουργία θέματος και συμπληρώνοντας τα απαραίτητα πεδία.} + {5}{Η απαίτηση είναι ύψιστης σημασίας για τους χρήστες, καθώς οι δημοκρατικές διαδικασίες αποτελούν μία από τις κύριες χρήσεις της πλατφόρμας.} + {5}{Η απαίτηση είναι ύψιστης σημασίας για το σύστημα, επειδή αποτελεί βασική προδιαγραφή του.} \sysReqItem {\label{srs:functional-srs-vote-polls}} {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να ψηφίζει σε ψηφοφορίες.} - {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να ψηφίζει σε ψηφοφορίες, σύμφωνα με τους εκάστοτε κανόνες.} - {5}{Η απαίτηση αυτή είναι ύψιστης σημασίας για τους χρήστες καθώς αποτελεί μία από τις ---- insert same as above} - {5}{Η απαίτηση αυτή είναι υψηλής σημασίας για το σύστημα καθώς αποτελεί σημαντικό χαρακτηριστικό του.} + {Ο εγγεγραμμένος χρήστης πρέπει να μπορεί να ψηφίζει σε ψηφοφορίες, σύμφωνα με τους εκάστοτε κανόνες της. Σε κοινότητες που το απαιτούν, ο χρήστης θα πρέπει να διαθέτει το αντίστοιχο voting token για να έχει το δικαίωμα ψήφου.} + {5}{Η απαίτηση είναι ύψιστης σημασίας για τους χρήστες, καθώς οι δημοκρατικές διαδικασίες αποτελούν μία από τις κύριες χρήσεις της πλατφόρμας.} + {5}{Η απαίτηση είναι ύψιστης σημασίας για το σύστημα, επειδή αποτελεί βασική προδιαγραφή του.} \sysReqItem {\label{srs:functional-srs-delete-local-data}} {Ο χρήστης πρέπει να μπορεί να διαγράφει τα τοπικά δεδομένα.} {Ο χρήστης πρέπει να μπορεί να διαγράφει τα τοπικά δεδομένα. Αυτό το επιτυγχάνει πατώντας στο κουμπί "Clear databases" του μενού και επιβεβαιώνοντας τη διαγραφή μέσω ενός pop-up διαλόγου.} {2}{Η απαίτηση αυτή είναι χαμηλής σημασία για τους χρήστες, διότι αποτελεί απλά μία διευκόλυνση για τη διαγραφή των δεδομένων που έχουν αποθηκεύσει τοπικά.} - {3}{Η απαίτηση αυτή είναι μέτριας σημασίας για το σύστημα καθώς συνάδει με την φιλοσοφία της πλατφόρμας σχετικά με την κυριότητα των δεδομένων από τους χρήστες.} + {2}{Η απαίτηση αυτή είναι χαμηλής σημασίας για το σύστημα.} \sysReqItem {\label{srs:functional-srs-create-communities}} {Ο χρήστης πρέπει να μπορεί να δημιουργεί κοινότητες.} - {Ο χρήστης πρέπει να μπορεί να δημιουργεί κοινότητες, μέσω κουμπιού της αρχικής οθόνης.} - {4}{Η απαίτηση αυτή είναι μεγάλης σημασίας για τους χρήστες καθώς παρέχει την ευελιξία της δημιουργίας κοινοτήτων.} - {4}{Η απαίτηση αυτή είναι μεγάλης σημασίας για την πλατφόρμα επειδή θα γενικεύσει τη χρήση της σε περισσότερες κοινότητες προσελκύοντας μεγαλύτερο αριθμό χρηστών.} + {Ο χρήστης πρέπει να μπορεί να δημιουργεί κοινότητες, πατώντας το κουμπί "Create community" και συμπληρώνοντας τα απαραίτητα πεδία.} + {4}{Η απαίτηση είναι μεγάλης σημασίας για τους χρήστες, καθώς παρέχει την ευελιξία της δημιουργίας κοινοτήτων.} + {4}{Πρόκειται για απαίτηση μεγάλης σημασίας για την πλατφόρμα, επειδή έτσι γενικεύει τη χρήση της σε περισσότερες κοινότητες, προσελκύοντας μεγαλύτερο αριθμό χρηστών.} \sysReqItem {\label{srs:functional-srs-assign-community-contract}} {Κατά τη δημιουργία κοινότητας, ο χρήστης πρέπει να έχει τη δυνατότητα να ορίσει ένα contract που θα παρέχει προσαρμοσμένα tokens για αυτήν.} {Κατά τη δημιουργία κοινότητας, ο χρήστης πρέπει να έχει τη δυνατότητα να ορίσει ένα contract που θα παρέχει προσαρμοσμένα tokens για αυτήν. Τα tokens αυτά θα διαμοιράζονται με τον τρόπο που επιθυμεί η κοινότητα και θα είναι εκείνα τα οποία θα καθορίζουν τους έγκυρους ψηφοφόρους της.} - {4}{Η απαίτηση αυτή είναι μεγάλης σημασίας καθώς παρέχει στις κοινότητες τη δυνατότητα διενέργειας ανώνυμων ψηφοφοριών.} - {4}{Η απαίτηση αυτή είναι μεγάλης σημασίας για το σύστημα διότι θα παρέχει στις κοινότητες την απαιτούμενη αυτονομία στον ορισμό των διαδικασιών της κοινότητας.} + {4}{Αυτή η απαίτηση είναι μεγάλης σημασίας, καθώς παρέχει στις κοινότητες τη δυνατότητα διενέργειας επιβεβαιώσιμων ανώνυμων ψηφοφοριών.} + {4}{Η απαίτηση είναι μεγάλης σημασίας για το σύστημα, διότι παρέχει στις κοινότητες την απαιτούμενη αυτονομία στον ορισμό των δημοκρατικών διαδικασιών τους.} \end{enumerate} Η δεύτερη κατηγορία είναι αυτή των Μη Λειτουργικών Απαιτήσεων (ΜΛΑ). Περιλαμβάνει απαιτήσεις αρχιτεκτονικής σημασίας, οι οποίες καθορίζουν κριτήρια ή περιορισμούς του τρόπου λειτουργίας του συστήματος και σχετίζονται με χαρακτηριστικά όπως η αποδοτικότητα, η αξιοπιστία και η ευχρηστία του. @@ -104,20 +104,20 @@ {\label{srs:non-functional-srs-maximum-decentraliztion}} {Η πλατφόρμα πρέπει να είναι κατά το δυνατόν αρχιτεκτονικά αποκεντρωμένη.} {Οι τεχνολογίες στις οποίες βασίζεται η πλατφόρμα πρέπει ιδανικά να μη δημιουργούν κεντρικά σημεία. Επιπλέον, ο κώδικας και η δημόσια διάθεση του πρέπει να γίνονται με αποκεντρωμένο τρόπο.} - {5}{Η αρχιτεκτονική αποκέντρωση της πλατφόρμας αποτελεί απαίτηση υψίστης σημασίας για τον χρήστη, καθώς διασφαλίζει την ελευθερία του λόγου του κτλ --κεφ 1.2} - {5}{Η αρχιτεκτονική αποκέντρωση της πλατφόρμας αποτελεί απαίτηση υψίστης σημασίας για το σύστημα, καθώς το καθιστά ασφαλές σε επιθέσεις κτλ --κεφ 1.2} + {5}{Η αρχιτεκτονική αποκέντρωση της πλατφόρμας αποτελεί απαίτηση ύψιστης προτεραιότητας για τον χρήστη, καθώς διασφαλίζει την πολιτική αποκέντρωση και, έτσι, τους κύριους στόχους που έχουν οριστεί.} + {5}{Η αρχιτεκτονική αποκέντρωση της πλατφόρμας αποτελεί, απαίτηση ύψιστης σημασίας για το σύστημα, καθώς καθιστά το ίδιο ασφαλές σε επιθέσεις και τα δεδομένα μόνιμα διαθέσιμα στους χρήστες.} \sysReqItem {\label{srs:non-functional-srs-minimize-fees}} {Τα fees για τη χρήση του Ethereum blockchain πρέπει να ελαχιστοποιούνται.} - {Τα fees που πρέπει να καταβάλλονται για τη χρήση του Ethereum blockchain εξαρτώνται άμεσα τόσο από τον όγκο των δεδομένων προς αποθήκευση, όσο και από τους κύκλους επεξεργασίας των smart contracts της εφαρμογής. Ως προς τα δεδομένα, οι προγραμματιστές θα πρέπει να μεριμνούν ώστε ο κύριος όγκος τους να αποθηκεύεται επί του IPFS, ενώ επί του blockchain να αποθηκεύονται μόνο όσα πραγματικά χρειάζονται. Ως προς την απαιτούμενη επεξεργαστική ισχύ, πρέπει να βελτιστοποιείται ο κώδικας των smart contracts, έτσι ώστε οι διάφορες λειτουργίες τους να εκτελούνται με τους λιγότερους δυνατούς επεξεργαστικούς κύκλους.} + {Τα τέλη συναλλαγών που πρέπει να καταβάλλονται για τη χρήση του Ethereum blockchain εξαρτώνται άμεσα τόσο από τον όγκο των δεδομένων προς αποθήκευση, όσο και από τους κύκλους επεξεργασίας των smart contracts της εφαρμογής. Ως προς τα δεδομένα, οι προγραμματιστές θα πρέπει να μεριμνούν ώστε ο κύριος όγκος τους να αποθηκεύεται επί του IPFS, ενώ επί του blockchain να αποθηκεύονται μόνο όσα πραγματικά χρειάζονται. Ως προς την απαιτούμενη επεξεργαστική ισχύ, πρέπει να βελτιστοποιείται ο κώδικας των smart contracts, έτσι ώστε οι διάφορες λειτουργίες τους να εκτελούνται με τους λιγότερους δυνατούς επεξεργαστικούς κύκλους.} {4}{Η απαίτηση αυτή είναι μεγάλης σημασίας για τους χρήστες καθώς ναι μεν δεν είναι απαραίτητη για τη χρήση της αλλά είναι ιδιαίτερα σημαντική για την ένταξη χρηστών με χαμηλότερες οικονομικές δυνατότητες.} - {5}{Η απαίτηση αυτή είναι μεγάλης σημασίας για το σύστημα διότι αποτελεί σημαντικό παράγοντα που επιδρά στην προσέλκυση και διατήρηση ενεργών χρηστών.} + {5}{Η απαίτηση αυτή είναι μεγάλης σημασίας για το σύστημα διότι αποτελεί σημαντικό παράγοντα που επιδρά στην προσέλκυση και τη διατήρηση ενεργών χρηστών.} \sysReqItem {\label{srs:non-functional-srs-upgrade-contracts}} {Τα contracts της εφαρμογής πρέπει να είναι αναβαθμίσιμα.} {Τα contracts της εφαρμογής πρέπει μπορούν να αναβαθμιστούν, έτσι ώστε να μπορούν να προστίθενται λειτουργίες και να διορθώνονται σφάλματα. Η αναβαθμισιμότητά τους θα πρέπει να επιτυγχάνεται με μεθόδους που να μην υπονομεύουν τη λειτουργικότητα των προηγούμενων εκδόσεων.} - {2}{Η απαίτηση αυτή είναι χαμηλής σημασίας για τους χρήστες καθώς αφορά την ανάπτυξη και όχι τη χρήση της.} - {5}{Η απαίτηση αυτή είναι υψηλής σημασίας για το σύστημα επειδή προσφέρει τη δυνατότητα εξέλιξης και υλοποίησης νέων χαρακτηριστικών.} + {2}{Η απαίτηση αυτή είναι χαμηλής σημασίας για τους χρήστες, καθώς αφορά την ανάπτυξη και όχι τη χρήση της.} + {5}{Η απαίτηση αυτή είναι υψηλής σημασίας για το σύστημα, επειδή προσφέρει τη δυνατότητα αποσφαλμάτωσης του, καθώς και την υλοποίηση νέων χαρακτηριστικών.} \end{enumerate} diff --git a/chapters/3.application-design/3.6.use-cases/3.6.4.use-case-fetch-topic.tex b/chapters/3.application-design/3.6.use-cases/3.6.4.use-case-fetch-topic.tex index bb71884..f8a8613 100644 --- a/chapters/3.application-design/3.6.use-cases/3.6.4.use-case-fetch-topic.tex +++ b/chapters/3.application-design/3.6.use-cases/3.6.4.use-case-fetch-topic.tex @@ -8,7 +8,7 @@ \useCaseTable {Ανακτώ ένα θέμα} {Στόχος του σεναρίου χρήσης είναι ο επισκέπτης ή ο χρήστης να μπορεί να ανακτήσει ένα θέμα.} -{\ref{srs:functional-srs-browse-topics}} +{\ref{srs:functional-srs-browse-community-topics}} {-} {Ο επισκέπτης ή χρήστης πατάει σε ένα από τα θέματα.} {Ο επισκέπτης ή χρήστης πρέπει να έχει ανοίξει την σελίδα της εφαρμογής.} diff --git a/chapters/4.application-implementation/4.5.implemented-parts.tex b/chapters/4.application-implementation/4.5.implemented-parts.tex index 0e9cfb5..416e716 100644 --- a/chapters/4.application-implementation/4.5.implemented-parts.tex +++ b/chapters/4.application-implementation/4.5.implemented-parts.tex @@ -6,7 +6,7 @@ \item η εγγραφή χρήστη και η δημιουργία των τοπικών βάσεων του όπως περιγράφεται στις \ref{srs:functional-srs-sign-up} \& \ref{srs:functional-srs-create-user-databases} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-signup} \item η αυτόματη είσοδος χρήστη όπως περιγράφεται στην \ref{srs:functional-srs-sign-in} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-signin} \item η δημιουργία θέματος και η δημιουργία ψηφοφοριών όπως περιγράφεται στις \ref{srs:functional-srs-create-topic} \& \ref{srs:functional-srs-create-polls} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-create-topic} - \item η περιήγηση στα υπάρχοντας θέματα όπως περιγράφεται στην \ref{srs:functional-srs-browse-topics} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-fetch-topic} + \item η περιήγηση στα υπάρχοντας θέματα όπως περιγράφεται στην \ref{srs:functional-srs-browse-community-topics} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-fetch-topic} \item η δημοσίευση μηνύματος όπως περιγράφεται στην \ref{srs:functional-srs-create-post} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-create-post} \item η επεξεργασία μηνύματος όπως περιγράφεται στην \ref{srs:functional-srs-modify-post} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-modify-post} \item η ψήφιση σε ψηφοφορία όπως περιγράφεται στην \ref{srs:functional-srs-vote-polls} και στο σενάριο χρήσης \ref{subsection:3-6-use-case-vote-in-poll} diff --git a/thesis.pdf b/thesis.pdf index 0c520d554b6cc7ad83bc8d19fa1139a3871106f9..2f47ac6ff510a42d7897fb364b2becd19d60dd63 100644 GIT binary patch delta 76126 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 &Ckkb)rtLk@-l3?&#U&~71hz~bM` zE}&=t4Jjhf2-k%MG#*Yvh5)>r#A5*wCD4qq1JB}Vkb%hiqQp?#JV4AW2^!$L1R9hu zsV*8Yv|#AK(1T$B!w7~63^N!OkW?4z7(DQ>6WqWsH8By0Z-^Bd@}DsbhFNt{k`my_ zf&PZhXrP06R$WA3(>yB%a9qHY804_YN{b3s?vFm$Jly2$#tMcFbbH3G%mdc`k~WeSWJ}F4f(X3AAf^H7vvMFI{k;ge3kNXP{Hb6E?tzLAqIxLcUDkgt3Ityi2pZQE z<%kC&X@Z*scQVNz*=RxF^9S0&3jW_}%f(_IPX8Q??vH!X{gEOBL`Nu|m;Fz`vtQy( z$iSRGPCwc!&Ib+F2JD*5AdW%t$T1-Fpg88At|b8-0wvC1fh|A@WS~tEHW3aFJOBT0 zARcysFtDG2kpv?JMjFg}Ffw3d!N`I607f2+0vJUwAHgVrQ3j&|<`WoIFlu1b!DxWd z1fvB;8_Z`gI$(6c=z-A(^976n7(*~dAj~Xd;uP>;0*_;AkSebU7u0{F4H%VRf&^;j zHwn-NTg0dcn+A%9ZYX@UU)YYu_~whNg4kJ6l6|4V7k zzy3%Uwl8i9+7~z5miTAY^FT9Jq`%z``VeC#C

mG5gQaswT{yVgC~Vn}>_%e>M0w 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
sTrd5#hXd#xz&aK@{2yv^B8uIRNJbcF!eT8k3bP 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 From 97859132df9f9f1bf7430a057bc58b96c2283d33 Mon Sep 17 00:00:00 2001 From: Ezerous Date: Tue, 11 Jan 2022 14:53:44 +0200 Subject: [PATCH 3/4] chore: remove unused package --- misc/packages.tex | 3 --- thesis.pdf | Bin 9132130 -> 9132116 bytes 2 files changed, 3 deletions(-) diff --git a/misc/packages.tex b/misc/packages.tex index e8ccbfc..048e830 100644 --- a/misc/packages.tex +++ b/misc/packages.tex @@ -3,9 +3,6 @@ % Used for flexibility, so other types of documents can have their own preambles (e.g. presentations) \usepackage[subpreambles=true]{standalone} -% Used for all the files inside thesis directory -\usepackage{subfiles} %TODO: possibly unused (remove?) - % Paper size and margins \usepackage{geometry} diff --git a/thesis.pdf b/thesis.pdf index 506b8754005a0b4b1fd1da40c9a18ac7768055a7..e18fb79ebfb01183b0768e2aee222248878dcb43 100644 GIT binary patch delta 15579 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 RiWr8A3znQ*Tu}n{{{Z?odujjx From 95afaad65a4e7cb168ff3780dc42e0a4cd7de7c4 Mon Sep 17 00:00:00 2001 From: Ezerous Date: Tue, 11 Jan 2022 22:46:11 +0200 Subject: [PATCH 4/4] chore: cleanup TODOs --- chapters/3.application-design/3.3.design-methodology.tex | 2 -- .../4.2.1.development-technologies.tex | 2 +- .../4.2.2.ui-technologies/4.2.2.1.react.tex | 2 +- .../4.2.2.ui-technologies/4.2.2.2.redux.tex | 2 +- .../4.3.1.software-units/4.3.1.concordia-shared-unit.tex | 1 - .../4.3.2.concordia-application-service.tex | 2 +- .../4.3.4.concordia-pinner-service.tex | 5 ++--- .../4.3.implementation-architecture/4.3.9.data-flow.tex | 1 - misc/hyphenations.tex | 4 ---- misc/packages.tex | 3 --- 10 files changed, 6 insertions(+), 18 deletions(-) delete mode 100644 misc/hyphenations.tex diff --git a/chapters/3.application-design/3.3.design-methodology.tex b/chapters/3.application-design/3.3.design-methodology.tex index 675a15c..2930803 100644 --- a/chapters/3.application-design/3.3.design-methodology.tex +++ b/chapters/3.application-design/3.3.design-methodology.tex @@ -4,8 +4,6 @@ Κατά την σχεδίαση και την υλοποίηση του κώδικα ακολουθήθηκαν διάφορες τεχνικές και μοτίβα ανάπτυξης. Κατά βάση χρησιμοποιήθηκαν Agile μέθοδοι όπως το Kanban και Scrum και, αργότερα στην ανάπτυξη, το DevOps μοντέλο για διαρκή ενσωμάτωση (Continuous Integration) και διαρκή εγκατάσταση (Continuous Deployment). -% todo: add an intro to agile too? - Για την παρούσα εργασία, πραγματοποιήθηκε ανάλυση και σχεδιασμός των επιμέρους μονάδων εργασίας (tasks) πριν την έναρξη της διαδικασίας ανάπτυξης του κώδικα. Τα tasks που προδιαγράφηκαν ήταν συνήθως epics\footnote{Τα epics είναι μεγάλες μονάδες εργασίας οι οποίες αφορούν κάποιο βασικό χαρακτηριστικό. Ο διαχωρισμός τους σε επιμέρους tasks αναβάλλεται με σκοπό την καλύτερη κατανόηση των αναγκών τους.} τα οποία αργότερα χωρίστηκαν σε επιμέρους, μικρότερα tasks. Ορίστηκαν επίσης ορόσημα (milestones) τα οποία βοήθησαν ιδιαίτερα στην ιεράρχηση και προτεραιοποίηση των tasks. Το Kanban είναι μία μέθοδος οργάνωσης έργων και οπτικοποίησης των μονάδων εργασίας (tasks) που απαιτούνται για την ολοκλήρωσή τους. Στο Kanban ορίζονται τα βασικά στάδια της ροής ενός task και χρησιμοποιούνται οπτικά μέσα ώστε να γίνει ιχνηλάτηση τόσο της συνολικής κατάστασης του έργου, όσο και συγκεκριμένων-μεμονωμένων tasks καθώς αυτά προοδεύουν. Για κάθε στάδιο ολοκλήρωσης ορίζεται μία ξεχωριστή ουρά εργασιών (στήλη), για παράδειγμα "σε αναμονή", "σε εξέλιξη", "ολοκληρωμένο". Χρησιμοποιούνται οπτικά σινιάλα (χρώματα, tags και άλλα) για τον διαχωρισμό και την γρήγορη κατανόηση των σημαντικότερων γνωρισμάτων των tasks, για παράδειγμα ξεχωριστό tag για κάθε υπηρεσία στην οποία αναφέρεται το task. Επίσης, ορίζονται όρια στον αριθμό των tasks που μπορούν να είναι ταυτόχρονα σε εξέλιξη. diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies.tex index cf35e8d..13ad9d8 100644 --- a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies.tex @@ -2,7 +2,7 @@ Σε αυτήν την υποενότητα περιγράφονται ορισμένα θεμελιώδη εργαλεία και frameworks που συνετέλεσαν στην ανάπτυξη της εφαρμογής. -%TODO: Add janus and build steps diagram +%TODO: Add janus (?) \input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.1.node.js} \input{chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.1.development-technologies/4.2.1.2.docker} diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.1.react.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.1.react.tex index da0aa74..04a241c 100644 --- a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.1.react.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.1.react.tex @@ -4,7 +4,7 @@ Η React\footnote{\url{https://reactjs.org/}} αποτελεί βιβλιοθήκη Javascript, η οποία χρησιμοποιείται για την κατασκευή διεπαφών χρήστη. Είναι δηλωτική (declarative) και βασίζεται σε components, τα οποία διαχειρίζονται την κατάστασή τους (state) και συντίθενται για να δημιουργήσουν πολύπλοκα διαδραστικά UIs. -%TODO: When https://2021.stateofjs.com/en-US/ is available, add to the paragraph above that is the most popular js front-end framework (by usage), according to https://2020.stateofjs.com/en-US/technologies/front-end-frameworks/ and also add this beautiful chart. +%TODO: Add to the paragraph above that is the most popular js front-end framework (by usage), according to https://2020.stateofjs.com/en-US/technologies/front-end-frameworks/ and also add this beautiful chart. Ένα σημαντικό εργαλείο για την ταχεία ανάπτυξη web εφαρμογών σε React είναι το Create React App\footnote{\url{https://create-react-app.dev/}}. Με τη χρήση μίας και μόνο εντολής (\texttt{npx create-react-app my-app}), εγκαθίσταται αυτόματα ένας development server σε περιβάλλον Node.js (ως μία μοναδική βιβλιοθήκη). Αυτός εμπεριέχει μία πληθώρα από build tools (π.χ. Webpack, Babel, ESLint), τα οποία προσφέρουν ισχυρές δυνατότητες, όπως άμεσα reloads και παραγωγή βελτιστοποιημένων bundles. Έτσι, η διαδικασία της υλοποίησης αποκτά ποικίλες διευκολύνσεις, χωρίς να απαιτεί την εκμάθηση, την χειροκίνητη εγκατάσταση και την προηγμένη διαμόρφωση των τεχνολογιών στο εσωτερικό. diff --git a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.2.redux.tex b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.2.redux.tex index 0855fed..1a91f53 100644 --- a/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.2.redux.tex +++ b/chapters/4.application-implementation/4.2.implementation-technology-stack/4.2.2.ui-technologies/4.2.2.2.redux.tex @@ -4,7 +4,7 @@ Το Redux\footnote{\url{https://redux.js.org/}} αποτελεί μία βιβλιοθήκη Javascript, η χρήση της οποίας προσφέρει στην εφαρμογή ένα πλήρως διαχειρίσιμο global state. -%TODO: When https://2021.stateofjs.com/en-US/ is available, add to the paragraph above that is the most popular data layer technology (by usage), according to https://2020.stateofjs.com/en-US/technologies/datalayer/ and also add this beautiful chart. +%TODO: Add to the paragraph above that is the most popular data layer technology (by usage), according to https://2020.stateofjs.com/en-US/technologies/datalayer/ and also add this beautiful chart. Τα δομικά στοιχεία του Redux είναι τα εξής: diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-shared-unit.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-shared-unit.tex index 994335c..087e64d 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-shared-unit.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.1.software-units/4.3.1.concordia-shared-unit.tex @@ -2,5 +2,4 @@ Το άρθρωμα concordia-shared αποτελεί μία βιβλιοθήκη χρήσιμων εργαλείων και σταθερών. Εδώ περιέχεται όλο το λογισμικό το οποίο πρέπει ή είναι επιθυμητό να συμπεριφέρεται με τον ίδιο τρόπο συνολικά στο σύστημα, όπως για παράδειγμα μέθοδοι παραμετροποίησης των υπηρεσιών και μέθοδοι καταγραφής (logging). Το άρθρωμα αυτό χρησιμοποιείται από το άρθρωμα \hyperref[subsubsection:4-3-1-concordia-contracts-unit]{concordia-contracts} καθώς και από τις υπηρεσίες \hyperref[subsection:4-3-2-concordia-application-service]{Concordia Application}, \hyperref[subsection:4-3-4-concordia-pinner-service]{Concordia Pinner} και \hyperref[subsection:4-3-5-concordia-contracts-provider-service]{Concordia Contracts Provider}. -%TODO: make more sense (?), maybe generally add yarn to technologies used (?) Το άρθρωμα αυτό γίνεται διαθέσιμο για χρήση με τη μορφή τοπικής βιβλιοθήκης με τη χρήση της δυνατότητας διαχείρισης μοναδικού αποθετηρίου κώδικα (monorepo) yarn workspaces{\footnote{\url{https://yarnpkg.com/features/workspaces}}}. \ No newline at end of file diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex index aaa1630..3138fd4 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.2.concordia-application-service.tex @@ -22,7 +22,7 @@ Η υπηρεσία αποτελείται από κώδικα γραμμένο σε Javascript ο οποίος γίνεται διαθέσιμος στους τελικούς χρήστες με τη μορφή εφαρμογής διαδικτύου (web application) μέσω ενός διακομιστή (server). Παρόλο που η υπηρεσία προσφέρει τη γραφική διεπαφή χρήστη μόνο στην αγγλική γλώσσα, έχει παραμετροποιηθεί ώστε να είναι δυνατή η εύκολη μεταγλώττιση της χωρίς την ανάγκη πραγματοποίησης μεγάλων αλλαγών στον κώδικα. -Χρησιμοποιείται η βιβλιοθήκη React για την οργάνωση και ανάπτυξη των συνθετικών τμημάτων (components) του γραφικού περιβάλλοντος. Για το γραφικό περιβάλλον γίνεται χρήση του framework της Semantic UI. Χρησιμοποιείται η βιβλιοθήκη Redux για τη διαχείριση κατάστασης της εφαρμογής (state management), % todo: find a better greek translation +Χρησιμοποιείται η βιβλιοθήκη React για την οργάνωση και ανάπτυξη των συνθετικών τμημάτων (components) του γραφικού περιβάλλοντος. Για το γραφικό περιβάλλον γίνεται χρήση του framework της Semantic UI. Χρησιμοποιείται η βιβλιοθήκη Redux για τη διαχείριση κατάστασης της εφαρμογής (state management), καθώς και η βιβλιοθήκη Redux-Saga για τη διαχείριση ασύγχρονων παράπλευρων ενεργειών (side-effects) σε ένα σύστημα βασισμένο σε συμβάντα (event-based). Άλλες βιβλιοθήκες χρησιμοποιούνται για διάφορα μέρη της υπηρεσίας, ενώ χρησιμοποιούνται επίσης τα αρθρώματα που περιγράφηκαν προηγουμένως για την επίτευξη διαφορετικών στόχων. Ο πλήρης κατάλογος των βιβλιοθηκών και αρθρωμάτων μπορεί να βρεθεί στον κώδικα της υπηρεσίας στο παράρτημα. % todo: add reference to the appendix containing the code or a link to it in the repo \begin{figure}[H] diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex index 6c9386c..00be8ca 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.4.concordia-pinner-service.tex @@ -11,9 +11,8 @@ \label{figure:4-3-concordia-pinner-architecture} \end{figure} -Η υπηρεσία αυτή υλοποιήθηκε για να εγγυηθεί η διαθεσιμότητα του περιεχομένου του συστήματος που αποθηκεύεται στο IPFS (τίτλοι θεμάτων, περιεχόμενο μηνυμάτων και άλλα). Λόγω του τρόπου λειτουργίας % todo: insert reference -του IPFS, το περιεχόμενο που αναρτούν οι χρήστες πρέπει να καρφιτσώνεται από άλλους χρήστες ή αυτόνομες εφαρμογές, όπως η υπηρεσία Concordia Pinner, ώστε να είναι διαθέσιμο. Αν το περιεχόμενο δεν καρφιτσωθεί, τότε θα είναι διαθέσιμο στους υπόλοιπους χρήστες μόνο από %todo: fix gender stuff -τον/τη δημιουργό, έτσι αν αυτός/αυτή δεν είναι ενεργός/ενεργή στο δίκτυο, το περιεχόμενο θα είναι αδύνατο να βρεθεί. +Η υπηρεσία αυτή υλοποιήθηκε για να εγγυηθεί η διαθεσιμότητα του περιεχομένου του συστήματος που αποθηκεύεται στο IPFS (τίτλοι θεμάτων, περιεχόμενο μηνυμάτων και άλλα). Λόγω του τρόπου λειτουργίας του IPFS, το περιεχόμενο που αναρτούν οι χρήστες πρέπει να καρφιτσώνεται από άλλους χρήστες ή αυτόνομες εφαρμογές, όπως η υπηρεσία Concordia Pinner, ώστε να είναι διαθέσιμο. Αν το περιεχόμενο δεν καρφιτσωθεί, τότε θα είναι διαθέσιμο στους υπόλοιπους χρήστες μόνο από +τον δημιουργό του, έτσι αν αυτός δεν είναι ενεργός στο δίκτυο, το περιεχόμενο θα είναι αδύνατο να βρεθεί. Η υπηρεσία συνδέεται στο blockchain από όπου παρακολουθεί την κατάσταση του συστήματος και ``ακούει'' για νέους χρήστες, θέματα και μηνύματα. Η υπηρεσία συνδέεται επίσης στο IPFS, έτσι όταν δημιουργηθεί νέο περιεχόμενο στο σύστημα το καρφιτσώνει αυτόματα. Με αυτό τον τρόπο, διατηρώντας την υπηρεσία πάντα διαθέσιμη, για παράδειγμα εκτελώντας τη σε περιβάλλον διακομιστή (server), διαβεβαιώνεται η διαθεσιμότητα του περιεχομένου. diff --git a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.9.data-flow.tex b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.9.data-flow.tex index dc7b133..3cffc8a 100644 --- a/chapters/4.application-implementation/4.3.implementation-architecture/4.3.9.data-flow.tex +++ b/chapters/4.application-implementation/4.3.implementation-architecture/4.3.9.data-flow.tex @@ -10,7 +10,6 @@ Έστω, χρήστης που δημιουργεί νέο θέμα. Τα δεδομένα που παράγονται είναι ο τίτλος του θέματος και το περιεχόμενο του πρώτου μηνύματος. Μεταδεδομένα της δημιουργίας είναι η διεύθυνση του/της δημιουργού του θέματος. Για την αποθήκευση του θέματος στο σύστημα δημιουργείται πρώτα συναλλαγή στο blockchain ώστε να δημιουργηθεί μία νέα εγγραφή στον πίνακα των θεμάτων. Η εγγραφή αυτή δεν περιέχει τίποτα παρά μόνο τη διεύθυνση του/της δημιουργού χρήστη. Αν η συναλλαγή είναι επιτυχής, θα επιστραφεί ο αύξων αριθμός του νέου θέματος. Έπειτα, στην προσωπική βάση OrbitDB του/της χρήστη και στον πίνακα των θεμάτων θα προστεθεί εγγραφή με αναγνωριστικό τον αύξων αριθμό του θέματος όπου θα αποθηκευτούν τα δεδομένα του τίτλου και πρώτου μηνύματος. Στο σχήμα \ref{figure:4-3-data-flow-insert} παρουσιάζεται γραφικά η διαδικασία. -% todo: UML diagrams might be wrong, should the ethereum and orbitDb blocks be continuous? \begin{figure}[H] \centering \includegraphics[width=.7\textwidth]{assets/figures/chapter-4/4.3.architecture-4.3.9.data-flow-insert.png} diff --git a/misc/hyphenations.tex b/misc/hyphenations.tex deleted file mode 100644 index c955dff..0000000 --- a/misc/hyphenations.tex +++ /dev/null @@ -1,4 +0,0 @@ -\begin{hyphenrules}{english} - % Custom hyphenations go here - % \hyphenation{ar-ti-fa-cts} -\end{hyphenrules} diff --git a/misc/packages.tex b/misc/packages.tex index 048e830..ff60368 100644 --- a/misc/packages.tex +++ b/misc/packages.tex @@ -50,6 +50,3 @@ % --- Custom styles --- \renewcommand{\arraystretch}{1.2} % Streches the table row height so text is not crammed between the lines \MakeOuterQuote{"} % For csquotes package - -% Hyphenations -\input{misc/hyphenations} %TODO: needed?