Преобразование системы посещаемости Google Apps Script в Firebase + Laravel: лучший подход для синхронизации часов в реаPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Преобразование системы посещаемости Google Apps Script в Firebase + Laravel: лучший подход для синхронизации часов в реа

Сообщение Anonymous »

Контекст
Младший полнофункциональный разработчик, я перевожу систему управления посещаемостью Google Apps Script на гибридную архитектуру:
  • Фронтенд: хостинг Firebase (интерфейс часов HTML/CSS/JS)
  • Бэкенд: Laravel 10 + PostgreSQL (локальный сервер для информационной панели/отчетов)
Текущая архитектура:
  • Сотрудники регистрируют вход и выход через веб-интерфейс → Вызывает скрипт Google Apps → Записывает в Google Таблицы.
  • На панели администратора отображаются данные из тех же Google Таблиц.
Целевая архитектура:
  • Сотрудники регистрируются через приложение Firebase → Вызывают Laravel API → Записывают в PostgreSQL.
  • Панель администратора (Laravel Blade) отображает данные из PostgreSQL.
Проблема
Мне нужно решить, как обрабатывать связь между интерфейсом Firebase и сервером Laravel для действий по приходу и уходу.
Вариант А: прямой вызов API (текущий план)

Код: Выделить всё

///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 })
})
Вариант Б: использовать базу данных Firebase Realtime в качестве очереди

Код: Выделить всё

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

// Laravel listens via webhook or polling
Вопросы
  • Безопасность: Достаточно ли предоставления общедоступной конечной точки API Laravel с аутентификацией по ключу API? Или мне следует использовать OAuth/JWT?
  • Надежность сети: Если локальный сервер временно недоступен, вариант А немедленно откажет. Обеспечит ли вариант Б (Firebase в качестве посредника) большую устойчивость?
  • Ограничение скорости: При ~200 сотрудниках, работающих в час пик (8–9 утра), какой подход лучше обрабатывает одновременные запросы?
Среда
  • Laravel 10, PHP 8.2
  • PostgreSQL 15
  • Обратный прокси-сервер Nginx
  • Хостинг Firebase (в настоящее время нет аутентификации Firebase)
Достаточен ли вариант A для этого масштаба, или мне следует использовать другой язык, надежность/простота разработки?

Подробнее здесь: https://stackoverflow.com/questions/798 ... -best-appr
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»