Skip to content

Οδηγός Υλοποίησης: 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. Εργαλεία

  1. Εγκατάσταση Firebase CLI μέσω npm:
    sudo npm install -g firebase-tools
    
  2. Σύνδεση με το λογαριασμό:
    firebase login
    

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)

  • Για να ενημερωθεί η εφαρμογή στο διαδίκτυο (σε κάθε αλλαγή):
    firebase deploy --only hosting
    
  • Αποτέλεσμα: Η εφαρμογή είναι προσβάσιμη μέσω ενός μοναδικού Hosting URL (π.χ., https://your-app-name.web.app/) και είναι πλήρως ασφαλής, καθώς μόνο ο δικός σας λογαριασμός μπορεί να συνδεθεί και να διαβάσει τα δεδομένα.