Υπάρχει μία αρχική υλοποίηση της εφαρμογής Android του έργου. Λειτουργεί με dummy δεδομένα που δημιουργούνται τυχαία κατά την προβολή της τοπολογίας του καταστήματος. Είναι ένα project του Android Studio που μπορεί να γίνει imported και compiled απευθείας, και μπορεί να εκτελεστεί σε έκδοση Android 5.0+. Υπάρχει ο βασικός κώδικας (σε Java), τα αρχεία layout για τον σχεδιασμό των οθονών, και τα εικονίδια της εφαρμογής.
Υπάρχει μία (σχεδόν) ολοκληρωμένη υλοποίηση του Server σε Java, όπως φαίνεται
στα διαγράμματα ακολουθίας. Κάποιες συναρτήσεις έχουν dummy υλοποιήσεις ώστε να
μπορεί να τρέξει ο server.
Για παράδειγμα η Waiter.findBestForTable()
επιστρέφει τον Waiter που βρίσκεται πιο κοντά στο τραπέζι, ενώ θα έπρεπε να λαμβάνει υπ’ όψην της τον φόρτο εργασίας του κάθε σερβιτόρου και διάφορα άλλα. Επίσης, άλλες συναρτήσεις, όπως η Table.getClient()
, επιστρέφουν τελείως ψεύτικα δεδομένα, διότι δεν έχει υλοποιηθεί το κομμάτι που απαιτείται για τη πλήρη λειτουργία τους.
O server είναι έτοιμος για compile και χρήση. Μπορεί να γίνει compile με την εντολή
javac Main.java
μέσα στον φάκελο Server και να εκτελεστεί με την εντολή
java Main
Περιμένει συνδέσεις στη θύρα 3000, και υπάρχει CLI που μπορεί να χρησιμοποιηθεί για testing.
- connect : Ανοίγει μία νέα σύνδεση με τον server και ο χρήστης μπορεί να πληκτρολογήσει εντολές και να δει τις απαντήσεις
- auto : Συνδέεται στον server και προσθέτει 10 νέες παραγγελίες, και δίνει εντολή να σταλούν σε χώρους προετοιμασίας
- print : Εκτυπώνει πληροφορίες του server που δεν είναι διαφορετικά προσβάσιμες, για debugging
- Αναγνωρίζει και εκτελεί κανονικά όλα τα requests που έχουν δηλωθεί στη κλάση Session (REQ_*)
- Τερματίζει τη σύνδεση σε περίπτωση παράνομης λειτουργίας βγάζοντας Exception με κατάλληλο μήνυμα σφάλματος
- Απαντάει ανάλογα σε requests που δεν υπάρχουν
- Υποστηρίζει την εντολή print , όπως ακριβώς και το CLI (για debugging)