Skip to content

Μια ιστοσελίδα για την εξυπηρέτηση των επιβατών των Αστικών Λεωφορείων της Πάτρας. Το project αυτό δημιουργήθηκε στα πλαίσια του μαθήματος Προγραμματισμός Διαδικτύου, του τμήματος ΗΜΤΥ, του Πανεπιστημίου Πατρών.

Notifications You must be signed in to change notification settings

Angelos-Kard/public-transport-site

Repository files navigation

Public Transportation Site

Ομαδικό Project

Η εργασία αυτή υλοποιήθηκε στα πλαίσια του μαθήματος "Προγραμματισμός Διαδικτύου" για το ακαδημαϊκό έτος 2020-2021.


Εγκατάσταση

Για την εγκατάσταση του συγκεκριμένου package:

  1. Κατεβάζετε τον κώδικα
  2. Επιλέγετε το φάκελο στον οποίο αποσυμπιέζεται το .zip αρχείο
  • Περίπτωση Α
  1. Ανοίγετε το τερματικό στο συγκεκριμένο φάκελο
  2. Εκτελείτε την εντολή npm install -dev με σκοπό να εγκαθιστούν τα dependencies και τα devDependencies (ή την εντολή npm install για να εγκαταστηθούν μόνο τα dependencies)
  3. "Τρέχετε" τον server τοπικά εκτελώντας στο τερματικό με την εντολή npm run debug (χρήση nodemon) ή node ./index.js. Για να τρέξει ο server τοπικά, απαιτείται να οριστούν ορισμένες enviromental variables, ώστε να είναι δυνατή η επικοινωνία με τη βάση δεδομένων. Επομένως πρέπει να οριστεί ένα .env αρχείο. Το αρχείο αυτό πρέπει να βρίσκεται στον root φάκελο και να έχει τη μορφή:
HOST=...
DB_PORT=...
USER_DB=...
PASSWORD=...
DB_NAME=...
GOOGLE_KEY=...
SMPT_USER=...
SMPT_PASS=...
RECEIVER_EMAIL=...
  • Περίπτωση Β
  1. Εκτελείτε το αρχείο initProject.bat (για Windows), το οποίο θα ανοίξει ένα cmd παράθυρο.
  2. Ακολουθείτες τις οδηγίες που εμφανίζονται στο cmd παράθυρο. Το initProject.bat αρχείο θα κατεβάσει τα dependencies, θα δημιουργήσει το .env αρχείο (αν δεν υπάρχει) στη μορφή που περιγράφηκε προηγουμένως (Περίπτωση Α, Βήμα 5) και τέλος θα ξεκινήσει τον server. Σε περίπτωση που ξανατρέξετε το αρχείο ή τα ανωτέρω αρχεία έχουν εγκαταστηθεί ήδη, τότε το .bat αρχείο θα ξεκινήσει μόνο τον server.

Σε περίπτωση πο θέλετε να δοκιμάσετε τον server με μία δική σας βάση δεδομένων, παρέχεται το αρχείο public_transportation.sql, το οποίο περιέχει τους απαραίτητους πίνακες, καθώς και δεδομένα.

Dependencies

Αρχεία

Σε αυτή την ενότητα θα περιγραφούν οι εργασίες, που επιτελούν τα αρχεία του package. Θα τα χωρίσουμε σε δύο κατηγορίες: front-end και back-end.

Back-end

  • index.js: Επιτελεί την μέθοδο listen του Express object, ώστε να ξεκινήσει ο server.
  • app.js: Φορτώνει τις απαραίτητες βιβλιοθήκες, όπως express και express-handlebars και αρχικοποιεί τα handlebars ορίζοντας τη θέση των views, static φακέλους, καθώς και Helpers.
  • /server/pt-routes.js: Χειρίζεται τα αιτήματα του client και καλεί τις κατάλληλες συναρτήσεις από το pt-controller.js.
  • /server/pt-controller.js: Σκοπός των συναρτήσεών του είναι να κάνει render τις σελίδες, θέτοντας τις κατάλληλες τιμές στις μεταβλητές. Όταν κρίνεται απαραίτητο, καλεί συναρτήσεις από το pt-model.js, ώστε να προσθέσει δεδομένα από τη βάση δεδομένων.
  • /server/pt-model.js: Οι συναρτήσεις του επικοινωνούν με τη βάση δεδομένων, ανακτούν δεδομένα, τα επεξεργάζονται και, τέλος, τα στέλνουν στο pt-controller.js
  • /database: Περιέχει αρχεία για την περιγραφή της βάσης (ERD Model και Σχεσιακό Μοντέλο), καθώς και το αρχείο public_transport_site_28_5.sql, το οποίο περιέχει τους πίνακες και ορισμένα δεδομένα.

Front-end

  • /views: Οι σελίδες της ιστοσελίδας ως .hbs. Κάθε .hbs αρχείο αντιστοιχεί σε μία σελίδα. Το αρχείο main.hbs περιέχει τον κώδικα html, ο οποίος είναι κοινός για όλες τις ιστοσελίδες.
  • /css: Περιέχει τα .css αρχεία για τη μορφοποίηση των σελίδων. Κάθε αρχείο αφορά μία σελίδα, με εξαίρεση ορισμένα αρχεία, τα οποία αφορούν ορσιμένα κοινά στοιχεία των σελίδων. Τα αρχεία της μορφής style_*.css μορφοποιούν μια σελίδα, ενώ τα αρχεία της μορφής *_style.css μορφοποιούν ένα συγκεκριμένο στοιχείο μιας σελίδας.
  • /scripts: Περιέχει του κώδικες Javascript, τους οποίους φορτώνουν οι σελίδες και εκτελούνται στην πλευρά του client.

Επιπλέον αρχεία και φάκελοι

  • /external: Screenshots, παρουσιάσεις και αναφορές.
  • /docs: Περιέχει στατικές σελίδες .html, οι οποίες αποτέλεσαν πρότυπα για τη δημιουργία των .hbs αρχείων.

Ιστοσελίδα

About

Μια ιστοσελίδα για την εξυπηρέτηση των επιβατών των Αστικών Λεωφορείων της Πάτρας. Το project αυτό δημιουργήθηκε στα πλαίσια του μαθήματος Προγραμματισμός Διαδικτύου, του τμήματος ΗΜΤΥ, του Πανεπιστημίου Πατρών.

Topics

Resources

Stars

Watchers

Forks