Minhas Reservas
Gerencie seus agendamentos, realize check-in ou libere a sala caso termine mais cedo.
Sala Pão de Açúcar
Agenda da Sala Hoje
Toque em um horário livre ou no botão abaixo para agendar direto no tablet
Gerenciamento de Salas de Reunião
Cadastre novas salas, defina capacidade, equipamentos disponíveis ou coloque salas em manutenção.
| Sala | Andar / Local | Capacidade | Equipamentos | Status | Ações |
|---|
Controle Geral de Agendamentos
Visualize, faça check-in ou libere qualquer reserva do sistema (Web, Mobile ou Tablet).
| Data & Horário | Sala | Reunião | Responsável | Origem | Status | Ações |
|---|
Conexão com Banco Cloudflare D1 e Repositório GitHub
Este Web App funciona de forma híbrida: no modo demonstração ele sincroniza instantaneamente entre abas e tablets via localStorage + BroadcastChannel, e em produção ele se conecta diretamente ao seu banco SQL Cloudflare D1.
Modo Local + Multi-Tab Broadcast Ativo (0ms latência)
migrations/0001_schema.sql
Tabelas SQLite para Cloudflare D1 com suporte a salas, perfis de usuário e verificação de conflito.
CREATE TABLE rooms ( id TEXT PRIMARY KEY, name TEXT NOT NULL, floor TEXT NOT NULL, capacity INTEGER NOT NULL, features TEXT NOT NULL, status TEXT DEFAULT 'active', color TEXT DEFAULT '#2563eb' ); CREATE TABLE bookings ( id TEXT PRIMARY KEY, room_id TEXT NOT NULL, user_id TEXT NOT NULL, user_name TEXT NOT NULL, title TEXT NOT NULL, date TEXT NOT NULL, start_time TEXT NOT NULL, end_time TEXT NOT NULL, attendees INTEGER DEFAULT 2, status TEXT DEFAULT 'confirmed', source TEXT DEFAULT 'web' );
npx wrangler d1 create meetsync-db
wrangler.toml
Conecta o Worker aos arquivos estáticos (`./public`) e ao banco Cloudflare D1 (`env.DB`).
name = "meetsync-salas" main = "src/worker.js" compatibility_date = "2025-01-01" [assets] directory = "./public" binding = "ASSETS" [[d1_databases]] binding = "DB" database_name = "meetsync-db" database_id = "SEU_DATABASE_ID_AQUI"
.zip pronto para o GitHub.
.github/workflows/deploy.yml
Aplica migrações no D1 e publica o app automaticamente a cada push na branch main.
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: d1 execute meetsync-db --remote --file=./migrations/0001_schema.sql
- uses: cloudflare/wrangler-action@v3
with:
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
accountId: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
command: deploy
CLOUDFLARE_API_TOKEN nos Secrets do GitHub.