Arquivo de Iluminação Pública
Construir com Agente de IA
Backend de Arquivo de Poste de Iluminação Pública

Modelo de Backend de Arquivo de Poste de Iluminação Pública
Inventário de postes, rastreamento de tipo de lâmpada e histórico de manutenção

Um backend de arquivo de poste de iluminação pública pronto para produção no Back4app com registros de postes, rastreamento de tipo de lâmpada, registros de balastro e histórico de manutenção. Inclui diagrama ER, dicionário de campos, esquema JSON, playground de API e um prompt de Agente de IA para configuração rápida.

Principais conclusões do arquivo de postes de iluminação pública

Este modelo fornece um backend de arquivo de postes de iluminação pública com registros de postes, rastreamento do tipo de lâmpada, registros de balastos e histórico de manutenção para que as equipes e coordenadores possam trabalhar a partir de uma única fonte de verdade.

  1. Registros focados em postesModele cada poste com localização, status, tipo de lâmpada e apontadores de registros de balastos para pesquisa rápida.
  2. Visibilidade do tipo de lâmpadaMantenha o tipo de lâmpada, wattage e notas de substituição anexados ao arquivo em vez de enterrados em planilhas.
  3. Histórico de registros de balastosArmazene registros de balastos com datas de serviço, notas de técnicos e ações de acompanhamento.
  4. Rastreabilidade de manutençãoVincule o histórico de manutenção a um Poste para que inspeções, reparos e substituições permaneçam fáceis de auditar.
  5. Acesso a arquivos móveis e da webAtenda equipes de campo e funcionários de escritório por meio de um backend REST e GraphQL para arquivos de postes.

Visão geral: Arquivo de Poste de Iluminação Pública

Se a documentação do arquivo de iluminação pública estiver nas caixas de entrada, você estará sempre a um anexo perdido de uma descoberta que não pode defender. Os clientes sentem isso no ETA que você promete. Este modelo estrutura Poste, TipoDeLâmpada, RegistroDeLastro e EntradaDeManutenção no Back4app com o rastreamento de auditoria embutido, para que as análises de arquivos de iluminação pública possam mostrar uma linha do tempo defensável. O esquema abrange Poste (códigoDoPoste, nomeDaLocalização, tipoDePoste, status), TipoDeLâmpada (nome, tecnologia, potência, horasDeVidaÚtil), RegistroDeLastro (poste, modeloDeLastro, dataDeServiço, notaDoTécnico) e EntradaDeManutenção (poste, tipoDeAção, realizadaEm, resultado) com fluxos de trabalho de autenticação e arquivamento embutidos. Conecte seu frontend preferido e mantenha o histórico dos postes organizado.

Melhor para:

Sistemas de inventário de iluminação públicaArquivos de manutenção de postesAplicativos de campo de obras públicasPainéis de operações de utilidadesLançamentos de MVPEquipes que precisam de um BaaS para registros e logs de postes

O que você recebe no modelo de Arquivo de Luminárias

Boas práticas de arquivo de luminárias parecem disciplina: os mesmos campos, a mesma linguagem de ciclo de vida e o mesmo histórico de auditoria toda vez.

Revise Postes, Tipo de Lâmpada e Log de Lastro primeiro, depois abra um cartão de pilha para ver notas específicas de SDK e padrões de integração.

Recursos principais do Arquivo de Iluminação Pública

Cada cartão de tecnologia neste hub usa o mesmo esquema de arquivo com Pole, BulbType, BallastLog e MaintenanceEntry.

Registro de postes

A classe Pole armazena poleCode, locationName, poleType, status e ponteiros de bulbType.

Catálogo de tipos de lâmpada

A classe BulbType contém nome, tecnologia, potência e lifespanHours.

Rastreamento de log de lastro

A classe BallastLog registra poste, ballastModel, serviceDate e technicianNote.

Histórico de manutenção

A classe MaintenanceEntry armazena poste, actionType, performedAt e outcome.

Por que construir seu backend de arquivo de postes de iluminação pública com Back4app?

Back4app fornece os elementos primitivos de arquivo de postes—Poste, Tipo de Lâmpada, Registro de Lastro e Entrada de Manutenção—para que sua equipe possa gastar tempo em inspeções e histórico ao invés de escrever a estrutura do backend.

  • Rastreamento de postes e lâmpadas: A classe Poste mantém o código do poste, nome da localização, tipo de lâmpada e status em um só lugar.
  • Histórico de manutenção e lastro: O Registro de Lastro e a Entrada de Manutenção preservam datas de serviço, anotações de técnicos e resultados para cada poste.
  • Acesso em tempo real + API: Use Live Queries para atualizações de manutenção frescas enquanto expõe o mesmo arquivo através do REST e GraphQL.

Construa um arquivo de postes prático com um único contrato de backend para ferramentas móveis, web e de campo.

Principais benefícios para arquivos de postes

Um backend de arquivo de luz de rua que mantém detalhes do poste, tipos de lâmpadas e histórico de serviços fácil de consultar.

Consulta de postes mais rápida

Pesquise o poste pelo poleCode ou locationName em vez de filtrar através de planilhas desconectadas.

Clareza do tipo de lâmpada

Anexe campos de BulbType como tecnologia e wattagem a cada poste para que as equipes saibam o que estão atendendo.

Continuidade do registro de reatores

Armazene entradas de BallastLog com serviceDate e technicianNote para que problemas recorrentes sejam visíveis.

Histórico que permanece vinculado

Vincule registros de MaintenanceEntry ao mesmo poste para que o arquivo mantenha um histórico completo de serviços.

Acesso a dados amigável ao campo

Use uma API para inspetores, supervisores e coordenadores de escritório que todos precisam do mesmo arquivo de postes.

Fluxo de trabalho de bootstrap de IA

Gere o esquema de arquivo e o plano de integração a partir de um único prompt estruturado.

Pronto para lançar seu aplicativo de arquivo de postes de luz?

Deixe o Agente de IA Back4app estruturar seu backend de arquivo de postes e gerar rastreamento de tipo de lâmpada, registros de lastro e histórico de manutenção a partir de um único prompt.

Gratuito para começar — 50 prompts de Agente de IA/mês, sem necessidade de cartão de crédito

Pilha técnica

Tudo incluído neste modelo de backend de arquivo de poste de iluminação pública.

Frontend
13+ tecnologias
Backend
Back4app
Banco de dados
MongoDB
Autenticação
Autenticação embutida + sessões
API
REST e GraphQL
Tempo real
Live Queries

Diagrama ER do poste

Modelo de relacionamento de entidades para o esquema de arquivo do poste de iluminação pública.

Ver fonte do diagrama
Mermaid
erDiagram
    Operator ||--o{ Pole : "assignedOperator"
    Operator ||--o{ BulbRecord : "createdBy"
    Operator ||--o{ BallastLog : "inspectedBy"
    Operator ||--o{ MaintenanceEntry : "performedBy"
    Pole ||--o{ BulbRecord : "pole"
    Pole ||--o{ BallastLog : "pole"
    Pole ||--o{ MaintenanceEntry : "pole"

    Operator {
        String objectId PK
        String username
        String email
        String password
        String role
        Date createdAt
        Date updatedAt
    }

    Pole {
        String objectId PK
        String poleNumber
        String locationLabel
        String bulbType
        Date lastBallastCheckAt
        String status
        String assignedOperatorId FK
        Date createdAt
        Date updatedAt
    }

    BulbRecord {
        String objectId PK
        String poleId FK
        String bulbType
        Date installedAt
        String notes
        String createdById FK
        Date createdAt
        Date updatedAt
    }

    BallastLog {
        String objectId PK
        String poleId FK
        Date inspectionDate
        String ballastCondition
        String actionTaken
        String inspectedById FK
        Date createdAt
        Date updatedAt
    }

    MaintenanceEntry {
        String objectId PK
        String poleId FK
        Date workDate
        String taskType
        String summary
        Boolean resolved
        String performedById FK
        Date createdAt
        Date updatedAt
    }

Fluxo de Integração de Arquivo

Fluxo de execução típico para autenticação, busca de postes, atualizações do tipo de lâmpada, registros de lastro e histórico de manutenção.

Ver fonte do diagrama
Mermaid
sequenceDiagram
  participant User
  participant App as Streetlight Pole Archive App
  participant Back4app as Back4app Cloud

  User->>App: Sign in to review poles
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Open pole archive
  App->>Back4app: GET /classes/Pole?include=assignedOperator
  Back4app-->>App: Pole list with bulbType and status

  User->>App: Add bulb record or ballast log
  App->>Back4app: POST /classes/BulbRecord
  App->>Back4app: POST /classes/BallastLog
  Back4app-->>App: Saved record IDs

  User->>App: Record maintenance history
  App->>Back4app: POST /classes/MaintenanceEntry
  Back4app-->>App: Maintenance entry saved

  App->>Back4app: Subscribe to live updates for Pole and MaintenanceEntry
  Back4app-->>App: Live query changes

Dicionário de Campos

Referência completa em nível de campo para cada classe no esquema de arquivo de luz de rua.

CampoTipoDescriçãoObrigatório
objectIdStringAuto-generated unique identifierAutomático
usernameStringLogin name for managers and field staff
emailStringWork email address
passwordStringHashed password (write-only)
roleStringAccess role such as coordinator, inspector, or admin
createdAtDateAuto-generated creation timestampAutomático
updatedAtDateAuto-generated last-update timestampAutomático

7 campos em Operator

Segurança e Permissões

Como a estratégia ACL e CLP protege postes, tipos de lâmpadas, registros de reatores e histórico de manutenção.

Edições de arquivo cientes de papéis

Apenas coordenadores ou técnicos autorizados podem criar ou alterar registros de Postes, Registros de Reatores e Entradas de Manutenção.

Integridade do histórico

Use Cloud Code para validar as entradas de reatores e manutenção antes de salvá-las na trilha de arquivo de um poste.

Acesso de leitura com escopo

Restrições de leitura de arquivo por distrito, equipe ou ordem de trabalho para que os usuários de campo vejam apenas os postes que precisam.

Esquema de Arquivo JSON

Definição de esquema JSON bruto pronta para copiar para Back4app ou usar como referência de implementação.

JSON
{
  "classes": [
    {
      "className": "Operator",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Pole",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "poleNumber": {
          "type": "String",
          "required": true
        },
        "locationLabel": {
          "type": "String",
          "required": true
        },
        "bulbType": {
          "type": "String",
          "required": true
        },
        "lastBallastCheckAt": {
          "type": "Date",
          "required": false
        },
        "status": {
          "type": "String",
          "required": true
        },
        "assignedOperator": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Operator"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "BulbRecord",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "pole": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Pole"
        },
        "bulbType": {
          "type": "String",
          "required": true
        },
        "installedAt": {
          "type": "Date",
          "required": true
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "createdBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Operator"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "BallastLog",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "pole": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Pole"
        },
        "inspectionDate": {
          "type": "Date",
          "required": true
        },
        "ballastCondition": {
          "type": "String",
          "required": true
        },
        "actionTaken": {
          "type": "String",
          "required": true
        },
        "inspectedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Operator"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "MaintenanceEntry",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "pole": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Pole"
        },
        "workDate": {
          "type": "Date",
          "required": true
        },
        "taskType": {
          "type": "String",
          "required": true
        },
        "summary": {
          "type": "String",
          "required": true
        },
        "resolved": {
          "type": "Boolean",
          "required": true
        },
        "performedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Operator"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Construir com Agente de IA

Use o Agente de IA Back4app para gerar um aplicativo real de arquivo de postes de luz de rua a partir deste modelo, incluindo frontend, backend, autenticação, e fluxos de pólvora, tipo de lâmpada, registro de balastro e histórico de manutenção.

Agente de IA Back4app
Pronto para construir
Crie um aplicativo backend de arquivo de postes de iluminação pública no Back4app com este esquema e comportamento exatos.

Esquema:
1. Usuário (use o recurso embutido do Back4app): nome de usuário, e-mail, senha; objectId, createdAt, updatedAt (sistema).
2. Postes: poleCode (String, obrigatório), locationName (String, obrigatório), poleType (String, obrigatório), status (String, obrigatório), bulbType (Ponteiro para BulbType, opcional), ballastLog (Ponteiro para BallastLog, opcional); objectId, createdAt, updatedAt (sistema).
3. BulbType: name (String, obrigatório), technology (String, obrigatório), wattage (Number, obrigatório), lifespanHours (Number, opcional), notes (String, opcional); objectId, createdAt, updatedAt (sistema).
4. BallastLog: pole (Ponteiro para Pole, obrigatório), ballastModel (String, obrigatório), serviceDate (Data, obrigatório), technicianNote (String, opcional), replaced (Boolean, obrigatório); objectId, createdAt, updatedAt (sistema).
5. MaintenanceEntry: pole (Ponteiro para Pole, obrigatório), actionType (String, obrigatório), performedAt (Data, obrigatório), outcome (String, obrigatório), technicianName (String, opcional); objectId, createdAt, updatedAt (sistema).

Segurança:
- Apenas usuários autorizados podem criar ou atualizar entradas de arquivo de postes. Use Cloud Code para validar as gravações do histórico dos postes.

Autenticação:
- Cadastro, login, logout.

Comportamento:
- Listar postes, revisar detalhes do tipo de lâmpada, adicionar registros de lastro e anexar histórico de manutenção.

Entrega:
- Aplicativo Back4app com esquema, ACLs, CLPs; frontend para postes, tipos de lâmpadas, registros de lastro e histórico de manutenção.

Pressione o botão abaixo para abrir o Agente com este prompt de modelo pré-preenchido.

Este é o prompt base sem um sufixo de tecnologia. Você pode adaptar a pilha de frontend gerada depois.

Implantar em minutos50 prompts grátis / mêsNenhum cartão de crédito necessário

API Playground

Experimente REST e endpoints do GraphQL contra o esquema de arquivo de iluminação pública. As respostas usam dados simulados e não requerem uma conta Back4app.

Carregando playground…

Usa o mesmo esquema que este modelo.

Escolha sua tecnologia

Expanda cada cartão para ver como integrar Pole, BulbType e BallastLog com sua pilha escolhida.

Flutter Arquivo de Iluminação Pública Backend

React Arquivo de Iluminação Pública Backend

React Nativo Arquivo de Iluminação Pública Backend

Next.js Arquivo de Iluminação Pública Backend

JavaScript Arquivo de Iluminação Pública Backend

Android Arquivo de Iluminação Pública Backend

iOS Arquivo de Iluminação Pública Backend

Vue Arquivo de Iluminação Pública Backend

Angular Arquivo de Iluminação Pública Backend

GraphQL Arquivo de Iluminação Pública Backend

REST API Arquivo de Iluminação Pública Backend

PHP Arquivo de Iluminação Pública Backend

.NET Arquivo de Iluminação Pública Backend

O que você recebe com cada tecnologia

Cada pilha usa o mesmo esquema de arquivo de postes de rua e contratos de API.

Estrutura de dados de arquivo de postes unificada

Gerencie Pole, BulbType, BallastLog e MaintenanceEntry com um esquema consistente.

Consultas de tipo de lâmpada para equipes de campo

Mostrar tecnologia de lâmpada, wattagem e horas de vida útil quando um poste é aberto.

Histórico de lastro e manutenção

Mantenha notas de serviço anexadas ao mesmo poste para que o trabalho de acompanhamento seja fácil de rastrear.

Fluxos de trabalho de arquivamento baseados em função

Separe as ações do coordenador das ações do técnico com permissões e Cloud Code.

Acesso REST/GraphQL para cada cliente

Conecte painéis, formulários móveis e ferramentas de relatórios ao mesmo backend de arquivamento.

Comparação do Framework de Arquivo de Luminárias

Compare a velocidade de configuração, estilo do SDK e suporte a IA em todas as tecnologias suportadas.

FrameworkTempo de ConfiguraçãoBenefício do ArquivoTipo de SDKSuporte a IA
Cerca de 5 minBase de código única para aplicativos de arquivamento de polos de campo e escritório.SDK TipadoCompleto
Menos de 5 minutosPainel da web rápido para inventário e logs de polos.SDK TipadoCompleto
~3–7 minAplicativo móvel multiplataforma para inspeções e histórico de manutenção.SDK TipadoCompleto
Configuração rápida (5 min)Portal de arquivo renderizado no servidor para coordenadores.SDK tipadoCompleto
~3–5 minIntegração web leve para telas de consulta de postes.SDK tipadoCompleto
Cerca de 5 minAplicativo nativo Android para equipes em campo.SDK tipadoCompleto
Menos de 5 minutosAplicativo nativo iOS para inspeções e notas de serviço.SDK tipadoCompleto
~3–7 minInterface web Reactiva para navegação de arquivos.SDK tipadoCompleto
Configuração rápida (5 min)Console de operações corporativas para gerenciamento de postes.SDK tipadoCompleto
Menos de 2 minAPI flexível GraphQL para consultas de arquivo aninhadas.API GraphQLCompleto
Configuração rápida (2 min)Integração REST API para ferramentas de serviço e painéis.REST APICompleto
~3 minBackend PHP do lado do servidor para portais de arquivo.REST APICompleto
~3–7 min.NET backend para sistemas de operações.SDK tipadoCompleto

O tempo de configuração reflete a duração esperada desde o bootstrap do projeto até a primeira consulta Pole ou MaintenanceEntry usando este esquema de template.

Perguntas Frequentes

Perguntas comuns sobre como construir um backend de arquivo de postes de iluminação pública com este modelo.

Como é o que parece um trilho de auditoria de arquivo de iluminação pública confiável de ponta a ponta?
Como os programas de arquivo de iluminação pública capturam treinamento, declarações e ações corretivas de forma clara?
Qual é o caminho recomendado para restringir permissões de arquivo de iluminação pública à medida que a organização cresce?
Como faço para consultar detalhes do poste em Flutter?
Como posso construir um painel Next.js para histórico de manutenção?
O React pode armazenar registros de postes offline?
Como faço para impedir edições não autorizadas em entradas de manutenção?
Qual é a melhor maneira de mostrar dados do tipo de lâmpada no Android?

Confiável por desenvolvedores em todo o mundo

Junte-se a equipes que estão enviando produtos arquivados mais rapidamente com os templates do Back4app

G2 Users Love Us Badge

Pronto para construir seu aplicativo de Arquivo de Poste de Luz?

Inicie seu projeto de arquivo de poste em minutos. Nenhum cartão de crédito necessário.

Escolha a Tecnologia