Οδηγός Υλοποίησης: Finance Web App (Firebase & Vanilla JS)¶
Αυτός ο οδηγός περιγράφει τα βασικά βήματα που ακολουθήθηκαν για τη δημιουργία και ανάπτυξη της προσωπικής σας εφαρμογής διαχείρισης οικονομικών.
1. ☁️ Ρύθμιση Backend (Firebase Console)¶
Η καρδιά της εφαρμογής είναι το Firebase, όπου φιλοξενούνται τα δεδομένα και η ασφάλεια.
1.1. Δημιουργία Έργου & Υπηρεσιών¶
- Δημιουργία νέου έργου (Project) στην Firebase Console.
- Ενεργοποίηση Authentication (με Email/Password).
- Προσθήκη του μοναδικού σας χρήστη (το δικό σας email/password).
- Ενεργοποίηση Firestore Database.
1.2. Κανόνες Ασφαλείας (Security Rules)¶
- ΚΡΙΣΙΜΟ: Ορίστηκαν κανόνες στο Firestore που επιτρέπουν την ανάγνωση και εγγραφή δεδομένων ΜΟΝΟ στον δικό σας μοναδικό User ID (
request.auth.uid == 'YOUR_UID').
2. 🛠️ Προετοιμασία Περιβάλλοντος (Linux Mint)¶
Χρησιμοποιήθηκε το Firebase CLI για τη φιλοξενία, αποφεύγοντας τα προβλήματα των Vue/Webpack/npm.
2.1. Εργαλεία¶
- Εγκατάσταση Firebase CLI μέσω npm:
- Σύνδεση με το λογαριασμό:
2.2. Δομή Φακέλων¶
- Δημιουργήθηκε ο φάκελος του έργου (
simple-finance-app). - Δημιουργήθηκε ο φάκελος φιλοξενίας:
simple-finance-app/public.
3. 📝 Υλοποίηση Frontend (Vanilla JS)¶
Η εφαρμογή αποτελείται από δύο απλά αρχεία που βρίσκονται στον φάκελο public/.
3.1. index.html (UI & Δομή)¶
- Περιέχει τη δομή της σελίδας (φόρμα σύνδεσης, φόρμα καταχώρισης, λίστα συναλλαγών).
- Φορτώνει τα Firebase SDKs απευθείας μέσω CDN (χωρίς
npm). - Φορτώνει το δικό μας αρχείο λογικής (
app.js).
3.2. app.js (Λογική)¶
- Περιέχει τα Firebase Configuration Keys.
- Authentication: Χρησιμοποιεί το
auth.onAuthStateChanged()για να ελέγχει αν ο χρήστης είναι συνδεδεμένος και να κρύβει/εμφανίζει τις οθόνες. - Data Entry: Χρησιμοποιεί το
db.collection('transactions').add(transaction)για την καταχώρηση νέων εξόδων/εσόδων. - Data Retrieval: Χρησιμοποιεί το
db.collection('transactions').where('userId', '==', currentUserID)για να φιλτράρει και να εμφανίζει μόνο τα δικά σας δεδομένα σε πραγματικό χρόνο (real-time updates).
4. 🌐 Φιλοξενία & Εκτέλεση (Hosting)¶
4.1. Αρχικοποίηση Hosting¶
- Εκτελέστηκε η εντολή
firebase init hostingκαι ορίστηκε ο φάκελοςpublicως φάκελος πηγής.
4.2. Τοπική Δοκιμή¶
- Χρησιμοποιήθηκε
firebase serveγια να ελέγξετε την εφαρμογή τοπικά στον browser σας (π.χ.,http://localhost:5000).
4.3. Ανάπτυξη στο Cloud (Deployment)¶
- Για να ενημερωθεί η εφαρμογή στο διαδίκτυο (σε κάθε αλλαγή):
- Αποτέλεσμα: Η εφαρμογή είναι προσβάσιμη μέσω ενός μοναδικού
Hosting URL(π.χ.,https://your-app-name.web.app/) και είναι πλήρως ασφαλής, καθώς μόνο ο δικός σας λογαριασμός μπορεί να συνδεθεί και να διαβάσει τα δεδομένα.