diff --git a/doc/thesis/diagrams/ea-ad-book-appointment.io b/doc/thesis/diagrams/ea-ad-book-appointment.io
new file mode 100644
index 00000000..9e7fe7de
--- /dev/null
+++ b/doc/thesis/diagrams/ea-ad-book-appointment.io
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/thesis/diagrams/ea-ad-install-application.io b/doc/thesis/diagrams/ea-ad-install-application.io
new file mode 100644
index 00000000..1dcd364a
--- /dev/null
+++ b/doc/thesis/diagrams/ea-ad-install-application.io
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/thesis/diagrams/ea-cd-backend-settings.io b/doc/thesis/diagrams/ea-cd-backend-settings.io
new file mode 100644
index 00000000..d8d2fe02
--- /dev/null
+++ b/doc/thesis/diagrams/ea-cd-backend-settings.io
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/thesis/diagrams/ea-cd-backend-users.io b/doc/thesis/diagrams/ea-cd-backend-users.io
new file mode 100644
index 00000000..f89f2ecd
--- /dev/null
+++ b/doc/thesis/diagrams/ea-cd-backend-users.io
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/thesis/diagrams/ea-domain-model.io b/doc/thesis/diagrams/ea-domain-model.io
new file mode 100644
index 00000000..8aa23adc
--- /dev/null
+++ b/doc/thesis/diagrams/ea-domain-model.io
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/thesis/diagrams/ea-er.io b/doc/thesis/diagrams/ea-er.io
new file mode 100644
index 00000000..a460bc0b
--- /dev/null
+++ b/doc/thesis/diagrams/ea-er.io
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/thesis/diagrams/ea-sd-save-appointment.io b/doc/thesis/diagrams/ea-sd-save-appointment.io
new file mode 100644
index 00000000..99b7985e
--- /dev/null
+++ b/doc/thesis/diagrams/ea-sd-save-appointment.io
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/thesis/diagrams/ea-sd-sync-appointment.io b/doc/thesis/diagrams/ea-sd-sync-appointment.io
new file mode 100644
index 00000000..df341823
--- /dev/null
+++ b/doc/thesis/diagrams/ea-sd-sync-appointment.io
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/thesis/diagrams/ea-system-architecture.io b/doc/thesis/diagrams/ea-system-architecture.io
new file mode 100644
index 00000000..ae617769
--- /dev/null
+++ b/doc/thesis/diagrams/ea-system-architecture.io
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/doc/thesis/images/ad-book-appointment.png b/doc/thesis/images/ad-book-appointment.png
new file mode 100644
index 00000000..11641c66
Binary files /dev/null and b/doc/thesis/images/ad-book-appointment.png differ
diff --git a/doc/thesis/images/ad-install-application.png b/doc/thesis/images/ad-install-application.png
new file mode 100644
index 00000000..385b17c9
Binary files /dev/null and b/doc/thesis/images/ad-install-application.png differ
diff --git a/doc/thesis/images/cd-backend-settings.png b/doc/thesis/images/cd-backend-settings.png
new file mode 100644
index 00000000..506b8e1c
Binary files /dev/null and b/doc/thesis/images/cd-backend-settings.png differ
diff --git a/doc/thesis/images/cd-backend-users.png b/doc/thesis/images/cd-backend-users.png
new file mode 100644
index 00000000..16950a0a
Binary files /dev/null and b/doc/thesis/images/cd-backend-users.png differ
diff --git a/doc/thesis/images/sd-sync-appointment.png b/doc/thesis/images/sd-sync-appointment.png
index 7702981c..7933e70c 100644
Binary files a/doc/thesis/images/sd-sync-appointment.png and b/doc/thesis/images/sd-sync-appointment.png differ
diff --git a/doc/thesis/includes/headers.tex b/doc/thesis/includes/headers.tex
index 722715c6..e3b1678c 100644
--- a/doc/thesis/includes/headers.tex
+++ b/doc/thesis/includes/headers.tex
@@ -2,6 +2,7 @@
\usepackage{thesis}
\usepackage{tabularx}
\usepackage{epsfig}
+\usepackage{float}
\usepackage{hyperref}
\usepackage {color}
diff --git a/doc/thesis/includes/implementation.tex b/doc/thesis/includes/implementation.tex
index c7030ea1..d98e737a 100644
--- a/doc/thesis/includes/implementation.tex
+++ b/doc/thesis/includes/implementation.tex
@@ -86,16 +86,62 @@ public function find_record_id($admin) {
\subsection{Διαγράμματα Ροής}
Τα διαγράμματα ροής δείχνουν τον τρόπο με τον οποίο λειτουργούν οι διαδικασίες μεταξύ τους. Σε αυτά είναι εύκολο να διακριθούν με ποιον τρόπο επικοινωνούν τα διάφορα συστήματα μεταξύ τους και την πορεία των δεδομένων μέχρι αυτά να φτάσουν τον τελικό προορισμό τους.
-\begin{figure}[!htb]
+\begin{figure}[H]
\centering
\includegraphics[width=150mm]{images/sd-save-appointment.png}
\caption{Στο διάγραμμα ροής εμφανίζεται η διαδικασία που εκτελείται για την αποθήκευση ενός ραντεβού μετά την επιτυχή καταχώρηση του από τον πελάτη.}
\label{sd-save-appointment}
\end{figure}
-\begin{figure}[!htb]
+\begin{figure}[H]
\centering
\includegraphics[width=150mm]{images/sd-sync-appointment.png}
\caption{Στο διάγραμμα ροής εμφανίζεται η διαδικασία με την οποία πραγματοποιείται η προσθήκη ενός ραντεβού στο Google Calendar.}
\label{sd-save-appointment}
\end{figure}
+
+\subsection{Διαγράμματα Δραστηριότητας}
+Τα διαγράμματα δραστηριότητας αποτελούν γραφικές παραστάσεις της δραστηριότητας του συστήματος ανάλογα με τις αποφάσεις που λαμβάνονται μέσα από τον κώδικα. Σε αυτά τα διαγράμματα μπορούν να φανούν τα σημεία στα οποία υπάρχουν βρόγχοι επανάληψης, τα σημεία όπου μπορούν να συμβούν λογικά σφάλματα (οι απαιτήσεις για συνέχιση της εκτέλεσης δεν πληρούνται) όπως και επίσης τις διαδικασίες που τρέχουν ταυτόχρονα και το πότε γίνεται αυτό.
+
+\begin{figure}[H]
+\centering
+\includegraphics[width=100mm]{images/ad-book-appointment.png}
+\caption{Αναπαράσταση της διαδικασίας κράτησης ραντεβού.}
+\label{ad-book-appointment}
+\end{figure}
+
+\begin{figure}[H]
+\centering
+\includegraphics[width=100mm]{images/ad-install-application.png}
+\caption{Αναπαράσταση της διαδικασίας εγκατάστασης της εφαρμογής.}
+\label{ad-install-application}
+\end{figure}
+
+\subsection{Διαγράμματα Κλάσεων}
+Στην τεχνολογία λογισμικού, τα διαγράμματα κλάσεων περιγράφουν την στατική δομή ενός συστήματος δείχνοντας τις κλάσεις, τις ιδιότητες, τις λειτουργίες και τις σχέσεις μεταξύ των αντικειμένων. Το σχεδιαγράμματα αυτά είναι τα βασικότερα για έναν προγραμματιστή διότι μπορεί άμεσα να πληροφορηθεί σχετικά με την δομή του κώδικα και με ποιόν τρόπο θα πρέπει να συνεχιστεί η διαδικασία της υλοποίησης.
+
+\begin{figure}[H]
+\centering
+\includegraphics[width=150mm]{images/cd-backend-users.png}
+\caption{Στο διάγραμμα αυτό φαίνεται η τρόπος με τον οποίον υλοποιείται η λειτουργικότητα της σελίδας διαχείρισης των χρηστών του συστήματος μέσω της JavaScript. Η κάθε ενότητα διαχείρισης (διαχειριστές, πάροχοι και γραμματείς) έχουν την δικιά τους κλάση, η οποία καθορίζει με ποιόν τρόπο θα χρειαστεί να ανταποκριθεί η εφαρμογή.}
+\label{cd-backend-users}
+\end{figure}
+
+\begin{figure}[H]
+\centering
+\includegraphics[width=150mm]{images/cd-backend-settings.png}
+\caption{Σε αυτό το διάγραμμα κλάσεων φαίνεται οι κλάσεις που συμμετέχουν στον JavaScript κώδικα των κεντρικών ρυθμίσεων της εφαρμογής. Οι κάθε μια κλάση αντιπροσωπεύει την λειτουργία μιας κατηγορίας ρυθμίσεων και μαζί χρησιμοποιούνται για την σωστή λειτουργία της σελίδας.}
+\label{cd-backend-settings}
+\end{figure}
+
+%% ==================================================
+%% ΑΝΑΛΥΣΗ ΒΑΣΙΚΩΝ ΑΛΓΟΡΙΘΜΩΝ
+%% ==================================================
+\section{Ανάλυση Βασικών Αλγορίθμων}
+Σε αυτήν την ενότητα θα γίνει ανάλυση κάποιων βασικών αλγορίθμων που αποτελούν χρήσιμα τμήματα στην λειτουργία του συστήματος. Θα γίνει περιγραφή της λειτουργίας τους και επεξήγηση της δομής καθώς και των αποφάσεων που έχουν παρθεί κατά την σχεδίαση και υλοποίηση τους.
+
+\subsection{Συχρονισμός Google Calendar}
+Η διαδικασία του πλήρη συγχρονισμού ραντεβού με το Google Calendar απότελεί ένας από τους κυριότερους αλγορίθμους του συστήματος. Η ανάγκη για έναν ολοκληρωμένο αλγόριθμο και η πολυπλοκότητα της διαδικασίας συγχρονισμού δεδομένων κατέστησαν την υλοποίηση αυτού του τμήματος κώδικα πολύ σημαντικό κατά την διάρκεια της ανάπτυξης της εφαρμογής. Μπορεί μελλοντικά να παρατηρηθούν ελλείψεις ή να υπάρξουν βελτιώσεις στον κώδικα, αλλά την συγκεκριμένη στιγμή ο αλγόριθμος συγχρονισμού ραντεβού λειτουργεί επιτυχώς και συγχρονίζει τα ραντεβού του Easy!Appointments με τα συμβάντα που έχει περάσει ο χρήστης στο Google Calendar.
+
+Προϋπόθεση για την χρήση της λειτουργίας συγχρονισμού της εφαρμογής είναι να έχει δημιουργηθεί ένα API Key στην υπηρεσία Google API Console.
+
diff --git a/doc/thesis/thesis.pdf b/doc/thesis/thesis.pdf
index 816d2b87..06464128 100644
Binary files a/doc/thesis/thesis.pdf and b/doc/thesis/thesis.pdf differ