Παράλειψη σε κυρίως περιεχόμενο.

Aνάπτυξη διαδικτυακών εφαρμογών με node.js (Νέο)

Ευχαριστίες


Η δημιουργία του παρόντος μαθήματος στηρίχθηκε σε δωρεά της Επιτροπής Κληροδοτήματος της Παγκρητικής Ενώσεως Αμερικής. Εκφράζουμε την ευγνωμοσύνη μας προς την Επιτροπή Κληροδοτήματος της Παγκρητικής Ενώσεως Αμερικής για τη γενναιόδωρη υποστήριξή της στο έργο και τον σκοπό του Mathesis.

Περιγραφή μαθήματος

Στο μάθημα αυτό παρουσιάζεται ένα σύγχρονο σύνολο τεχνολογιών για την ανάπτυξη διαδικτυακών εφαρμογών στην πλευρά του εξυπηρετητή που βασίζονται κυρίως στην JavaScript, τη γλώσσα που είναι σήμερα στο επίκεντρο της ανάπτυξης διαδικτυακών εφαρμογών.

Το μάθημα είναι διαρθρωμένο σε τέσσερις ενότητες στη διάρκεια των οποίων χτίζουμε μια διαδικτυακή εφαρμογή και τη δημοσιεύουμε στο διαδίκτυο. Κατά τη σταδιακή ανάπτυξη της εφαρμογής μας έχουμε την ευκαιρία να δούμε βασικές έννοιες των εφαρμογών διαδικτύου, να εμβαθύνουμε σε νέα στοιχεία της γλώσσας JavaScript και να χρησιμοποιήσουμε συγκεκριμένες δημοφιλείς τεχνολογίες.

Στις δύο πρώτες εβδομάδες θα καλύψουμε αρχικά τη Node.js, το περιβάλλον εκτέλεσης εφαρμογών JavaScript που θα χρησιμοποιήσουμε, και στη συνέχεια το Express.js, πάνω στο οποίο θα στηριχτούμε για την ανάπτυξη της εφαρμογής μας.

Την τρίτη εβδομάδα η εφαρμογή μας θα επικοινωνήσει με τη σχεσιακή βάση δεδομένων Postgres χρησιμοποιώντας το Sequelize.

Το μάθημα θα κλείσει την τέταρτη εβδομάδα όπου η εφαρμογή μας θα χρησιμοποιείται από πολλούς χρήστες και θα είναι πλέον δημόσια διαθέσιμη. Επίσης θα δούμε την εκφώνηση της τελικής εργασίας.

Αυτό είναι το τρίτο σε μια σειρά μαθημάτων για τον προγραμματισμό διαδικτυακών εφαρμογών που προσφέρονται από το Mathesis. Αποτελεί προϋπόθεση οι συμμετέχοντες να έχουν γνώση της JavaScript καθώς και των τεχνολογιών HTML/CSS και Bootstrap. Το μάθημα με αντικείμενο "Ανάπτυξη διαδικτυακών εφαρμογών με Flask" καλύπτει παρόμοια ζητήματα, βασίζεται όμως στην Python αντί για την JavaScript.

Συνοπτικά, ολοκληρώνοντας αυτό το μάθημα θα μπορεί κανείς να χειριστεί μια από τις πιο διαδεδομένες τεχνολογίες ανάπτυξης εφαρμογών διαδικτύου για να κατασκευάσει επεκτάσιμες εφαρμογές, να τις συνδέει με σχεσιακές βάσεις δεδομένων, καθώς και να διασφαλίζει την προστασία των δεδομένων των χρηστών τους.

Διδάσκοντες

Χρήστος Σιντόρης

Ο Χρήστος Σιντόρης είναι Ε.ΔΙ.Π. στο Πανεπιστήμιο Πατρών. Η πρώτη επαγγελματική επαφή του με τις τεχνολογίες του διαδικτύου ξεκίνησε το 1999 ενώ στη συνέχεια, ως συνεργάτης του Ινστιτούτου Τεχνολογίας Υπολογιστών συμμετείχε στην ανάπτυξη μιας σειράς διαδικτυακών συστημάτων. Είναι μέλος της ερευνητικής ομάδας Αλληλεπίδρασης Ανθρώπου-Υπολογιστή και το ερευνητικό του ενδιαφέρον περιστρέφεται γύρω από τις διαδραστικές τεχνολογίες. Οι εκπαιδευτικές του δραστηριότητες στο Πανεπιστήμιο Πατρών αφορούν σχεδόν αποκλειστικά τον προγραμματισμό υπολογιστών (Web, C, Python, Java, βάσεις δεδομένων) και την αλληλεπίδραση ανθρώπου-υπολογιστή.

Νίκος Αβούρης

O Νίκος Αβούρης είναι καθηγητής στο Πανεπιστήμιο Πατρών και στο Ελληνικό Ανοικτό Πανεπιστήμιο. Διαθέτει εμπειρία άνω των 30 ετών στη διδασκαλία και την έρευνα σε θέματα πληροφορικής και τεχνολογίας υπολογιστών. Κύριο ερευνητικό του ενδιαφέρον είναι η Αλληλεπίδραση Ανθρώπου-Υπολογιστή. Διδάσκει «Βάσεις Δεδομένων», «Προγραμματισμό με την Python» και «Προγραμματισμό Διαδικτύου» στην Πολυτεχνική Σχολή του Πανεπιστημίου Πατρών. Έχει συγγράψει βιβλία σε ποικίλα θέματα υπολογιστών και πληροφορικής και έχει δημοσιεύσει εκτενώς στο ερευνητικό πεδίο των διαδραστικών τεχνολογιών. Το τελευταίο βιβλίο του με τίτλο Python: Εισαγωγή στους Υπολογιστές κυκλοφορεί από τις Πανεπιστημιακές Εκδόσεις Κρήτης.

Eθελοντές βοηθοί μαθήματος:

Θάνος Λαμπρόπουλος (tlampro), Αλέκος Παπαδόπουλος (AlekosPap), Ξενοφών Στρατάκης (virxen75)

Συντελεστές

Βιντεοσκόπηση/Μοντάζ: Χρήστος Σιντόρης, Νίκος Αβούρης
Προγραμματισμός ασκήσεων: Έλενα Κολλάτου, Νίκος Γκικόπουλος

Η βιντεοσκόπηση έγινε το καλοκαίρι του 2022.

Το εικονίδιο απεικονίζει τα κυριότερα "εργαλεία" του μαθήματος και είναι μία σύνθεση του Νίκου Βαρδάκη.

Με τη δική σας υποστήριξη συνεχίζουμε


Τα μαθήματα του Mathesis προσφέρονται δωρεάν και έτσι θα συνεχίσουν. Μπορείτε να τα παρακολουθήσετε μέχρι τέλους και να συμμετέχετε στα εβδομαδιαία τεστ και την τελική εξέταση. Στα περισσότερα μαθήματα θα σας ζητείται όμως ένα μικρό αντίτιμο –30€ στο συγκεκριμένο μάθημα– για την έκδοση της βεβαίωσης επιτυχούς παρακολούθησης, εφόσον βέβαια υποβάλετε την τελική εξέταση και δικαιούστε τη βεβαίωση, έχοντας εξασφαλίσει την απαιτούμενη βαθμολογία. Το κόστος της βεβαίωσης είναι εδώ μεγαλύτερο από τα 20€ που ζητούνται σε άλλα μαθήματα, διότι τώρα υπάρχει το πρόσθετο κόστος της διόρθωσης της τελικής σας εργασίας από τον διδάσκοντα και τους βοηθούς του. Από την πλευρά μας θεωρούμε αυτό το μικρό αντίτιμο ως την αναγκαία συμβολή σας για τη συνέχιση της λειτουργίας ενός θεσμού που υπηρετεί δημόσιους σκοπούς χωρίς να δέχεται ούτε ένα ευρώ –άμεσης ή έμμεσης– κρατικής ενίσχυσης. Βασίζεται μόνο σε δωρητική στήριξη —η οποία καλύπτει πλέον μόνο ένα μικρό μέρος των ετήσιων δαπανών του— και εθελοντική εργασία. Η συνέχιση της λειτουργίας του Mathesis απαιτεί λοιπόν και τη δική σας ενεργό στήριξη. Σε αυτό το πνεύμα θεωρούμε αναγκαίο πριν τη συμμετοχή σας στην τελική εξέταση του μαθήματος να αναλάβετε μια ηθική δέσμευση απέναντι στο Mathesis. Ότι αν ολοκληρώσετε επιτυχώς το μάθημα και δικαιούστε τη βεβαίωση παρακολούθησης, θα καταβάλετε το αντίτιμο των 30€ για την απόκτησή της, έστω κι αν δεν έχει μια προφανή χρησιμότητα για σας. Ένα μικρό βήμα για σας, μια αναγκαία συνθήκη όμως για τη δυνατότητα του Mathesis να σας προσφέρει την ποιότητα μαθημάτων που σας προσέφερε μέχρι τώρα.

  1. Κωδικός Μαθήματος

    ΗΥ3.3
  2. Λήξη Μαθήματος

  3. Προσπάθεια

    60 ώρες
  4. Διάρκεια

    4 εβδομάδες
  5. Παρακολούθηση

    Δωρεάν
  6. Κόστος Βεβαίωσης

    30€
Enroll