Konvertieren des Google Apps Script-Anwesenheitssystems in Firebase + Laravel: Der beste Ansatz für die EchtzeitsynchronPhp

PHP-Programmierer chatten hier
Anonymous
 Konvertieren des Google Apps Script-Anwesenheitssystems in Firebase + Laravel: Der beste Ansatz für die Echtzeitsynchron

Post by Anonymous »

Kontext
Junior Full-Stack-Entwickler hier, ich migriere ein Google Apps Script-Anwesenheitsverwaltungssystem auf eine Hybridarchitektur:
  • Frontend: Firebase Hosting (HTML/CSS/JS-Uhrschnittstelle)
  • Backend: Laravel 10 + PostgreSQL (On-Premise-Server für Dashboard/Berichte)
Aktuelle Architektur:
  • Mitarbeiter stempeln über Webschnittstelle ein/aus → Ruft Google Apps Script auf → Schreibt in Google Sheets
  • Admin-Dashboard zeigt Daten aus denselben Google Sheets an
Zielarchitektur:
  • Mitarbeiter stempeln über Firebase-App → Ruft die Laravel-API auf → Schreibt in PostgreSQL
  • Admin-Dashboard (Laravel Blade) zeigt Daten von PostgreSQL an
Problem
Ich muss entscheiden, wie die Kommunikation zwischen dem Firebase-Frontend und dem Laravel-Backend für Ein-/Ausstempelaktionen gehandhabt werden soll.
Option A: Direkter API-Aufruf (Aktuell Plan)

Code: Select all

///javascript
// Firebase clock.js
fetch('https://api.mycompany.com/api/public/clock', {
method: 'POST',
headers: {
'X-API-Key': CONFIG.API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({ id, action, lat, long })
})
Option B: Firebase-Echtzeitdatenbank als Warteschlange verwenden

Code: Select all

///javascript
// Firebase writes to Realtime DB
firebase.database().ref('clock_actions').push({ id, action, timestamp })

// Laravel listens via webhook or polling
Fragen
  • Sicherheit: Ist die Offenlegung eines öffentlichen Laravel-API-Endpunkts mit API-Schlüsselauthentifizierung ausreichend? Oder sollte ich OAuth/JWT verwenden?
  • Netzwerkzuverlässigkeit: Wenn der Server vor Ort vorübergehend nicht erreichbar ist, schlägt Option A sofort fehl. Würde Option B (Firebase als Vermittler) eine bessere Ausfallsicherheit bieten?
  • Ratenbegrenzung: Mit ca. 200 Mitarbeitern, die während der Hauptverkehrszeit (8–9 Uhr) eintreffen, welcher Ansatz verarbeitet gleichzeitige Anfragen besser?
Umgebung
  • Laravel 10, PHP 8.2
  • PostgreSQL 15
  • Nginx-Reverse-Proxy
  • Firebase Hosting (derzeit kein Firebase Auth)
Ist Option A für diese Größenordnung ausreichend, oder sollte ich eine andere Sprachzuverlässigkeit/einfache Entwicklung verwenden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post