/OrMa

School project - nothing to see here

Primary LanguageJava

OrMa

Android App

Υπάρχει μία αρχική υλοποίηση της εφαρμογής Android του έργου. Λειτουργεί με dummy δεδομένα που δημιουργούνται τυχαία κατά την προβολή της τοπολογίας του καταστήματος. Είναι ένα project του Android Studio που μπορεί να γίνει imported και compiled απευθείας, και μπορεί να εκτελεστεί σε έκδοση Android 5.0+. Υπάρχει ο βασικός κώδικας (σε Java), τα αρχεία layout για τον σχεδιασμό των οθονών, και τα εικονίδια της εφαρμογής.

Server

Υπάρχει μία (σχεδόν) ολοκληρωμένη υλοποίηση του Server σε Java, όπως φαίνεται στα διαγράμματα ακολουθίας. Κάποιες συναρτήσεις έχουν dummy υλοποιήσεις ώστε να μπορεί να τρέξει ο server. Για παράδειγμα η Waiter.findBestForTable() επιστρέφει τον Waiter που βρίσκεται πιο κοντά στο τραπέζι, ενώ θα έπρεπε να λαμβάνει υπ’ όψην της τον φόρτο εργασίας του κάθε σερβιτόρου και διάφορα άλλα. Επίσης, άλλες συναρτήσεις, όπως η Table.getClient(), επιστρέφουν τελείως ψεύτικα δεδομένα, διότι δεν έχει υλοποιηθεί το κομμάτι που απαιτείται για τη πλήρη λειτουργία τους.

O server είναι έτοιμος για compile και χρήση. Μπορεί να γίνει compile με την εντολή

javac Main.java

μέσα στον φάκελο Server και να εκτελεστεί με την εντολή

java Main

Περιμένει συνδέσεις στη θύρα 3000, και υπάρχει CLI που μπορεί να χρησιμοποιηθεί για testing.

Το CLI προσφέρει τις εξής εντολές:
  • connect : Ανοίγει μία νέα σύνδεση με τον server και ο χρήστης μπορεί να πληκτρολογήσει εντολές και να δει τις απαντήσεις
  • auto : Συνδέεται στον server και προσθέτει 10 νέες παραγγελίες, και δίνει εντολή να σταλούν σε χώρους προετοιμασίας
  • print : Εκτυπώνει πληροφορίες του server που δεν είναι διαφορετικά προσβάσιμες, για debugging
Ο server (σύνδεση στη θύρα 3000):
  • Αναγνωρίζει και εκτελεί κανονικά όλα τα requests που έχουν δηλωθεί στη κλάση Session (REQ_*)
  • Τερματίζει τη σύνδεση σε περίπτωση παράνομης λειτουργίας βγάζοντας Exception με κατάλληλο μήνυμα σφάλματος
  • Απαντάει ανάλογα σε requests που δεν υπάρχουν
  • Υποστηρίζει την εντολή print , όπως ακριβώς και το CLI (για debugging)