Συγγραφέας: Χρήστος Πολυπαθέλης (P24251)
Μάθημα: Αλληλεπίδραση Ανθρώπου και Υπολογιστή
Ακαδημαϊκό Έτος: 2025-2026
Καθηγήτρια: Μαρία Βίρβου - Δρ. Δημήτρης Παναγούλιας
Αυτή είναι μια web εφαρμογή που έφτιαξα για το μάθημα Αλληλεπίδραση Ανθρώπου και Υπολογιστή. Πρόκειται για ένα σύστημα διεπαφής για ένα έξυπνο τουριστικό λεωφορείο όπου οι επιβάτες, ο οδηγός και οι υπάλληλοι μπορούν να αλληλεπιδρούν μέσω οθονών αφής.
Για τους επιβάτες:
- Βλέπουν τη διαδρομή σε πραγματικό χρόνο
- Παίρνουν πληροφορίες για αξιοθέατα (με ήχο!)
- Παραγγέλνουν από καφετέριες
- Χρησιμοποιούν GPS για πλοήγηση όταν κατεβαίνουν
Για τον οδηγό:
- Προειδοποιήσεις για ταχύτητα, λωρίδα, κούραση
- Έλεγχος κλιματισμού
- Ειδοποιήσεις για επιβάτες
Για τους υπαλλήλους:
- Διαχείριση οροφής (αυτόματο κλείσιμο όταν βρέχει)
- Παρακολούθηση ενέργειας από φωτοβολταϊκά
- Έλεγχος ρομπότ καθαρισμού
- Διαχείριση βρεθέντων αντικειμένων
Χρειάζεσαι Node.js (18.0 ή πιο νέο) και npm (έρχεται με το Node.js).
-
Άνοιξε terminal στο φάκελο του project:
cd "c:\Users\xrist\Documents\University Shi\cs_unipi\Αλληλεπίδραση Ανθρώπου και Υπολογιστή"
-
Εγκατάστησε τα dependencies:
npm install
-
Τρέξε τον development server:
npm run dev
-
Άνοιξε το browser στο
http://localhost:5173(ή όποια θύρα σου πει το terminal)
Αν θες να φτιάξεις production build:
npm run buildΤο build θα βγει στον φάκελο dist/.
Για να το δεις:
npm run previewsmart-tourist-bus/
├── src/
│ ├── components/ # Τα React components
│ │ ├── UserSelection.jsx # Αρχική οθόνη
│ │ ├── PassengerInterface.jsx # Για τους επιβάτες
│ │ ├── DriverInterface.jsx # Για τον οδηγό
│ │ ├── StaffInterface.jsx # Για τους υπαλλήλους
│ │ ├── Help.jsx # Βοήθεια
│ │ ├── Navbar.jsx # Navigation
│ │ ├── MapComponent.jsx # Χάρτες
│ │ ├── Icons.jsx # Icons
│ │ └── Loader.jsx # Loading
│ ├── App.jsx # Κύριο component
│ ├── main.jsx # Entry point
│ └── index.css # Global styles
├── package.json # Dependencies
├── vite.config.js # Vite config
├── tailwind.config.js # Tailwind config
├── README.md # Αυτό εδώ
├── Εγχειρίδιο_Χρήστη.md
└── Εγχειρίδιο_Ανάλυσης_και_Σχεδιασμού.md
Χρησιμοποίησα React για το frontend, Tailwind CSS για styling, και Leaflet για τους χάρτες. Επίσης χρησιμοποίησα τα Web Speech API και Web Audio API για τους ήχους και τις προειδοποιήσεις.
- React 18.2.0
- React Router DOM 6.20.0
- Vite 5.0.8
- Tailwind CSS 3.4.1
- Leaflet 1.9.4
- Web Speech API (για text-to-speech)
- Web Audio API (για προειδοποιήσεις)
- Browser Geolocation API (για GPS)
Επιβάτες: Επίλεξε "Επιβάτης" και μετά μπορείς να δεις τη διαδρομή, τα αξιοθέατα, να παραγγείλεις από καφετέρια ή να χρησιμοποιήσεις GPS.
Οδηγός: Επίλεξε "Οδηγός" και θα δεις gauges για ταχύτητα, RPM, μπαταρία κτλ. Το σύστημα σε προειδοποιεί αν υπερβείς ταχύτητα, ξεφύγεις από τη λωρίδα ή φαίνεσαι κουρασμένος.
Υπάλληλος: Επίλεξε "Υπάλληλος" για να διαχειριστείς την οροφή, την ενέργεια, το ρομπότ καθαρισμού και τα βρεθέντα αντικείμενα.
Υπάρχει online βοήθεια στην εφαρμογή. Πάτα "Βοήθεια" στο navigation bar.
- Εγχειρίδιο Χρήστη - Πώς να χρησιμοποιήσεις την εφαρμογή
- Εγχειρίδιο Ανάλυσης και Σχεδιασμού - Τεχνικές λεπτομέρειες
npm run dev- Τρέχει τον dev servernpm run build- Κάνει build για productionnpm run preview- Προεπισκόπηση του build
Η εφαρμογή είναι προσομοίωση - όλα τα δεδομένα είναι simulated. Για GPS χρειάζεται να επιτρέψεις πρόσβαση στη τοποθεσία στο browser. Για Web Speech API χρειάζεται browser που το υποστηρίζει.
Δουλεύει καλύτερα σε Chrome/Edge, Firefox και Safari.
Συγγραφέας: Χρήστος Πολυπαθέλης (P24251)