# Δημιουργία Εφαρμογής Τραπεζικής Μέρος 2: Δημιουργία Φόρμας Σύνδεσης και Εγγραφής ## Κουίζ πριν το μάθημα [Κουίζ πριν το μάθημα](https://ff-quizzes.netlify.app/web/quiz/43) ### Εισαγωγή Σχεδόν σε όλες τις σύγχρονες διαδικτυακές εφαρμογές, μπορείτε να δημιουργήσετε έναν λογαριασμό για να έχετε τον δικό σας προσωπικό χώρο. Καθώς πολλοί χρήστες μπορούν να έχουν πρόσβαση σε μια εφαρμογή ταυτόχρονα, χρειάζεστε έναν μηχανισμό για να αποθηκεύετε τα προσωπικά δεδομένα κάθε χρήστη ξεχωριστά και να επιλέγετε ποια πληροφορία θα εμφανίζεται. Δεν θα καλύψουμε πώς να διαχειρίζεστε [την ταυτότητα του χρήστη με ασφάλεια](https://en.wikipedia.org/wiki/Authentication), καθώς είναι ένα εκτενές θέμα από μόνο του, αλλά θα διασφαλίσουμε ότι κάθε χρήστης θα μπορεί να δημιουργήσει έναν (ή περισσότερους) τραπεζικούς λογαριασμούς στην εφαρμογή μας. Σε αυτό το μέρος, θα χρησιμοποιήσουμε φόρμες HTML για να προσθέσουμε σύνδεση και εγγραφή στην εφαρμογή μας. Θα δούμε πώς να στέλνουμε δεδομένα σε έναν διακομιστή API προγραμματιστικά και, τελικά, πώς να ορίσουμε βασικούς κανόνες επικύρωσης για τις εισόδους των χρηστών. ### Προαπαιτούμενα Πρέπει να έχετε ολοκληρώσει το μάθημα [Πρότυπα HTML και δρομολόγηση](../1-template-route/README.md) της εφαρμογής. Επίσης, πρέπει να έχετε εγκαταστήσει το [Node.js](https://nodejs.org) και να [εκτελέσετε το API διακομιστή](../api/README.md) τοπικά, ώστε να μπορείτε να στέλνετε δεδομένα για τη δημιουργία λογαριασμών. **Σημείωση** Θα χρειαστεί να έχετε δύο τερματικά ανοιχτά ταυτόχρονα, όπως αναφέρεται παρακάτω: 1. Για την κύρια τραπεζική εφαρμογή που δημιουργήσαμε στο μάθημα [Πρότυπα HTML και δρομολόγηση](../1-template-route/README.md) 2. Για το [API διακομιστή της τραπεζικής εφαρμογής](../api/README.md) που μόλις ρυθμίσαμε παραπάνω. Πρέπει να έχετε και τους δύο διακομιστές σε λειτουργία για να προχωρήσετε με το υπόλοιπο μάθημα. Ακούνε σε διαφορετικές θύρες (θύρα `3000` και θύρα `5000`), οπότε όλα θα λειτουργούν κανονικά. Μπορείτε να ελέγξετε αν ο διακομιστής λειτουργεί σωστά εκτελώντας αυτήν την εντολή σε ένα τερματικό: ```sh curl http://localhost:5000/api # -> should return "Bank API v1.0.0" as a result ``` --- ## Φόρμα και στοιχεία ελέγχου Το στοιχείο `