DESENVOLVIMENTO DE SOFTWARE PARA GESTÃO TRANSPARENTE DAS FILAS DE VAGAS EM CRECHES: UMA VISÃO A PARTIR DO BACK-END

SOFTWARE DEVELOPMENT FOR TRANSPARENT MANAGEMENT OF DAYCARE VACANCY WAITING LISTS: A BACK-END PERSPECTIVE

REGISTRO DOI: 10.70773/revistatopicos/782792741

RESUMO
Este trabalho apresenta o desenvolvimento do back-end da Central de Vagas em Creches, uma plataforma voltada à gestão transparente das filas de espera por vagas na educação infantil. A solução foi concebida para apoiar a aplicação padronizada dos critérios de priorização estabelecidos pela Nota Técnica GAEPE-RO nº 007/2021, promovendo maior confiabilidade, rastreabilidade e transparência no processo de distribuição de vagas. O objetivo da pesquisa foi desenvolver uma API capaz de centralizar o gerenciamento de crianças, entrevistas, critérios de classificação, filas, reservas de vagas, relatórios gerenciais e consultas públicas, assegurando integridade dos dados, controle de acesso e suporte à auditoria. A metodologia adotada caracteriza-se como um estudo de caso com abordagem aplicada, utilizando práticas de desenvolvimento ágil baseadas em Scrum e arquitetura orientada a serviços com APIs REST. Os resultados demonstram a implementação de uma solução em operação, responsável pelo gerenciamento de 12.931 crianças cadastradas, 13.929 entrevistas, mais de 1 milhão de registros de fila e 11.730 reservas de vagas. Além da automação dos processos administrativos, a plataforma possibilita a geração de indicadores gerenciais, o acompanhamento da demanda por vagas e a disponibilização de informações para gestores, órgãos de controle e cidadãos. Conclui-se que o back-end desenvolvido constitui o elemento central para a operacionalização da Central de Vagas, traduzindo diretrizes normativas em regras computacionais auditáveis e contribuindo para o fortalecimento da governança digital e da transparência na gestão pública da educação infantil.
Palavras-chave: Back-end; Gestão pública; Creches; Fila de espera; API REST.

ABSTRACT
This paper presents the development of the back-end of the Central de Vagas em Creches (Childcare Vacancy Management System), a platform designed to support transparent management of waiting lists for public early childhood education vacancies. The solution was developed to enable the standardized application of prioritization criteria established by GAEPE-RO Technical Note No. 007/2021, promoting greater reliability, traceability, and transparency in the allocation process. The objective of this study was to develop an API capable of centralizing the management of children records, interviews, classification criteria, waiting lists, vacancy reservations, management reports, and public consultations, while ensuring data integrity, access control, and auditability. The research adopted a case study approach with an applied nature, using agile development practices based on Scrum and a service-oriented architecture built on RESTful APIs. The results demonstrate the implementation of a production-ready solution currently managing 12,931 registered children, 13,929 interviews, more than 1 million waiting-list records, and 11,730 vacancy reservations. In addition to automating administrative processes, the platform enables the generation of management indicators, monitoring of demand for childcare vacancies, and provision of information to managers, oversight agencies, and citizens. It is concluded that the developed back-end serves as the core component of the Childcare Vacancy Management System by translating regulatory guidelines into auditable computational rules, thereby contributing to the strengthening of digital governance and transparency in the management of public early childhood education services.
Keywords: Back-end; Public management; Daycare; Waiting list; REST API.

1. INTRODUÇÃO

A gestão de vagas em creches públicas é um tema sensível para a administração municipal, pois envolve o direito à educação, a vulnerabilidade social das famílias e a necessidade de critérios objetivos para distribuição de vagas. No contexto brasileiro, a educação é reconhecida como direito social e dever do Estado, incluindo o atendimento em creche e pré-escola às crianças de até cinco anos, o que reforça a importância de mecanismos administrativos capazes de organizar o acesso à educação infantil de forma transparente e impessoal (BRASIL, 1988).

A ampliação do acesso à creche ainda constitui um desafio estrutural da política educacional brasileira. Relatórios nacionais de monitoramento e diagnóstico da educação infantil indicam que a oferta de vagas permanece insuficiente diante da demanda, especialmente para crianças de 0 a 3 anos, tornando a organização das filas de espera um problema público relevante (INEP, 2022; Gaepe-Brasil, 2024). Além de afetar o desenvolvimento infantil e a rotina familiar, a escassez de vagas pode dificultar a participação de mulheres no mercado de trabalho, pois muitas famílias dependem da creche para conciliar cuidado, estudo e atividade profissional (TIZZO; SILVA, 2023).

Quando a demanda é maior que a oferta, a fila de espera passa a ser um instrumento administrativo central. Por isso, sua organização precisa permitir padronização dos critérios, atualização das posições, consulta pelas famílias e fiscalização por parte dos órgãos de controle. A transparência dessas informações também se relaciona aos princípios da administração pública e ao direito de acesso à informação, especialmente quando a fila envolve um serviço público essencial (BRASIL, 2011). Em muitos contextos municipais, entretanto, esse controle ainda pode depender de planilhas, registros locais ou processos parcialmente manuais, o que dificulta a rastreabilidade das decisões e aumenta o risco de divergências na ordenação.

Para enfrentar esse problema, foi desenvolvido o sistema Central de Vagas em Creches, composto por portal público, dashboard administrativo e API back-end. O presente artigo complementa a abordagem voltada ao front-end, já discutida por Silva et al. (2025), concentrando-se na camada responsável por regras de negócio, dados, autenticação, geração da fila e integração entre os módulos do sistema. Enquanto o front-end organiza a experiência dos usuários e apresenta as informações de forma acessível, o back-end é responsável por armazenar os dados, aplicar as regras de negócio, autenticar usuários, controlar permissões, gerar as filas, registrar reservas e disponibilizar informações para relatórios e consultas públicas.

A problemática central deste trabalho está relacionada à dificuldade de garantir uma gestão padronizada, auditável e transparente das filas de vagas em creches públicas. Um dos pontos mais críticos é a aplicação dos critérios de prioridade. A Nota Técnica GAEPE-RO nº 007/2021 apresenta diretrizes para a priorização de vagas, mas sua aplicação manual pode gerar divergências de interpretação e inconsistências na classificação (GAEPE/RO, 2021). Assim, o desafio técnico não consiste apenas em cadastrar crianças na fila, mas em construir uma API capaz de aplicar critérios de forma uniforme, preservar histórico, controlar acessos e disponibilizar informações públicas sem expor dados sensíveis.

O desenvolvimento do back-end justifica-se pela necessidade de modernizar um processo administrativo de alto impacto social. A informatização da fila contribui para reduzir retrabalho, melhorar a organização das informações e oferecer maior segurança na aplicação dos critérios de classificação. Do ponto de vista da gestão pública, a solução permite centralizar dados e gerar relatórios que apoiam o planejamento de vagas, a identificação de demandas reprimidas e o acompanhamento das reservas concedidas. Como o sistema trata dados pessoais de crianças e responsáveis, a disponibilização de informações precisa observar cuidados relacionados à proteção de dados pessoais, especialmente quanto à finalidade, segurança, controle de acesso e exposição mínima das informações (BRASIL, 2018).

Diante desse cenário, o objetivo deste trabalho é desenvolver o back-end de um sistema para gestão transparente das filas de vagas em creches públicas, garantindo a aplicação padronizada dos critérios de prioridade, a segurança dos dados e a disponibilização de informações para o portal público e o dashboard administrativo. Para isso, a solução contempla a modelagem das principais entidades do domínio, a implementação de uma API REST modular, a automatização da geração da fila com base nos critérios definidos pela Nota Técnica GAEPE-RO nº 007/2021, a disponibilização de consultas públicas com dados anonimizados, a autenticação e autorização por perfis de acesso, a geração de relatórios e endpoints analíticos e a integração com módulos auxiliares, como CadÚnico, notificações, arquivos e rotinas assíncronas (GAEPE/RO, 2021).

2. METODOLOGIA

2.1. Metodologia de pesquisa

A pesquisa foi conduzida como estudo de caso, tendo como objeto o desenvolvimento do back-end da Central de Vagas em Creches. Essa abordagem é adequada para investigar uma solução tecnológica em seu contexto real de aplicação, considerando o problema público, as decisões técnicas e o funcionamento do sistema (YIN, 2015).

O estudo considera ainda as diretrizes administrativas de priorização de vagas e a relação do back-end com o portal público e o dashboard administrativo já discutidos no trabalho sobre o front-end da solução (GAEPE/RO, 2021; SILVA et al., 2025). O levantamento de requisitos ocorreu a partir das necessidades relacionadas à gestão de filas, critérios de priorização, transparência pública, agendamento, entrevistas, reserva de vagas e relatórios administrativos.

A partir desses requisitos, foram definidos os principais módulos da API e as entidades necessárias para representar o domínio. Essa etapa inicial funcionou como visão do produto, pois organizou os objetivos do software, os fluxos principais e os aspectos técnicos e operacionais necessários para sustentar a gestão das filas. O planejamento também considerou a necessidade de integrar o back-end ao portal público e ao dashboard administrativo, garantindo que as regras computacionais implementadas na API fossem compatíveis com a experiência de uso prevista para as interfaces (SILVA et al., 2025).

2.2. Metodologia de Desenvolvimento de Software

O desenvolvimento do back-end utilizou práticas ágeis associadas ao Scrum, framework voltado à organização incremental do trabalho, à inspeção frequente dos resultados e à adaptação contínua do processo de desenvolvimento (RUBIN, 2012; SUTHERLAND, 2016). Essa escolha foi adequada ao contexto do projeto porque a equipe era composta por participantes com diferentes níveis de disponibilidade e porque as regras de negócio da Central de Vagas precisaram ser ajustadas conforme o entendimento do domínio evoluía.

A adoção do Scrum permitiu dividir o desenvolvimento em ciclos de trabalho, ou sprints, nos quais eram priorizadas funcionalidades específicas da API, como entrevistas, critérios de prioridade, geração de filas, reservas de vagas, autenticação, relatórios e integração com o front-end. Essa organização favorece entregas incrementais e tornou possível validar partes do sistema ao longo do desenvolvimento, em vez de concentrar a verificação apenas ao final do projeto (SUTHERLAND, 2016).

No início de cada ciclo, eram definidas as tarefas prioritárias e os módulos a serem implementados ou ajustados. Esse planejamento auxiliou no alinhamento das expectativas da equipe, na distribuição das atividades e na identificação das dependências entre front-end, back-end e banco de dados. Durante a execução, o acompanhamento contínuo das tarefas contribuiu para tornar visíveis impedimentos técnicos, como ajustes em entidades, rotas, regras de autorização, migrations e integração entre endpoints, prática coerente com a transparência e a inspeção contínua previstas no Scrum (RUBIN, 2012; SUTHERLAND, 2016).

Ao final dos ciclos, as funcionalidades implementadas eram revisadas para verificar se atendiam às necessidades do projeto e se estavam compatíveis com os fluxos do portal público e do dashboard administrativo. Essa prática de revisão e feedback está alinhada ao princípio de inspeção e adaptação do Scrum, permitindo corrigir inconsistências, redefinir prioridades e melhorar progressivamente a solução (RUBIN, 2012).

2.3. Ferramentas de Gestão, Versionamento e Qualidade

Para a gestão das tarefas, o projeto utilizou ferramentas de acompanhamento que permitiram organizar demandas, registrar atividades e monitorar o progresso das entregas. O uso de quadros de tarefas, listas e ciclos de acompanhamento contribuiu para manter a equipe alinhada quanto às prioridades do desenvolvimento, especialmente em um projeto com módulos interdependentes e participantes com diferentes disponibilidades (RUBIN, 2012).

O controle de versionamento do código foi realizado com apoio de uma plataforma Git, permitindo registrar alterações, revisar contribuições e manter histórico das versões do back-end. Esse controle foi associado a práticas de integração e entrega contínua, nas quais o código pode passar por etapas automatizadas de verificação antes de ser incorporado aos ambientes de desenvolvimento, homologação ou produção (GITLAB, 2026).

Como parte do controle de qualidade, o projeto utilizou recursos de análise de código e ambientes de homologação para reduzir falhas antes da disponibilização das funcionalidades. Ferramentas de inspeção estática auxiliam na identificação de problemas de qualidade, segurança e manutenção do código, enquanto os ambientes de homologação permitem validar fluxos próximos ao uso real antes da implantação definitiva (SONARSOURCE, 2026).

Além da organização do trabalho em ciclos, o projeto utilizou recursos técnicos de apoio ao desenvolvimento, como scripts para execução, testes, build, migrations e ambiente Docker. A aplicação também foi preparada para execução em ambiente de desenvolvimento, produção e modo worker, além de possuir arquivos de implantação para Kubernetes em ambientes de desenvolvimento, homologação e produção. Dessa forma, a metodologia ágil foi combinada com uma estrutura técnica que favoreceu evolução incremental, integração contínua entre módulos e maior controle sobre a entrega do back-end, mantendo o princípio de adaptação contínua do processo de desenvolvimento (RUBIN, 2012).

2.4. Processo de Integração com o Front-End

A integração com o front-end ocorreu por meio de APIs REST documentadas. O dashboard administrativo consome rotas protegidas para gerenciar entrevistas, critérios, reservas, escolas, vagas, relatórios e dados analíticos. O portal público consome rotas abertas ou anonimizadas para consulta de vagas, posição na fila e informações públicas.

Antes da implementação final das interfaces, o projeto contou com prototipação visual e validação dos fluxos de uso, etapa importante para alinhar expectativas de stakeholders e reduzir retrabalho no desenvolvimento das funcionalidades. Embora este artigo concentre-se no back-end, a prototipação e a validação da interface ajudam a definir quais dados, rotas e respostas a API precisa fornecer ao portal público e ao dashboard administrativo (SILVA et al., 2025; FIGMA, 2026).

Essa separação permite que o front-end se concentre na experiência do usuário, enquanto o back-end garante regras de negócio, segurança e consistência dos dados. Assim, a camada de servidor funciona como fonte confiável para as interfaces do sistema, sustentando a comunicação entre os módulos e a aplicação uniforme dos critérios de fila (FIELDING, 2000; NESTJS, 2026).

3. RESULTADOS E DISCUSSÕES

3.1. Swagger

A API da Central de Vagas possui documentação automatizada com Swagger, permitindo visualizar e testar as rotas disponíveis conforme práticas de descrição de serviços baseadas na especificação OpenAPI (OpenAPI Initiative, 2026). Essa documentação é especialmente importante em um projeto com múltiplos módulos e equipes, pois torna explícitos os parâmetros exigidos, os métodos HTTP utilizados e os perfis de acesso necessários.

A Figura 1 apresenta a interface do Swagger, ferramenta utilizada para a documentação automatizada da API da Central de Vagas. Nela, é possível visualizar os endpoints disponíveis, os métodos HTTP implementados e os parâmetros de requisição necessários. Essa documentação é fundamental para o projeto, pois explicita os contratos da API e facilita a integração contínua entre os módulos de front-end e back-end, reduzindo ruídos de comunicação entre as equipes de desenvolvimento.

Figura 1. Documentação da API da Central de Vagas no Swagger

Fonte: https://centraldevagas-stage.defensoria.ro.def.br/api/v1/swagger 

3.2. Estrutura e Lógica do Back-End

3.2.1. Modelagem de Dados do Domínio

A modelagem do back-end reflete os principais elementos da gestão de vagas.A entidade EntrevistaEntity concentra dados coletados no atendimento da família, como data e horário da entrevista, preferências de turno e unidade escolar, elegibilidade para fila, dados do responsável, renda familiar, ano letivo, etapa, secretaria municipal, criança, entrevistador, critérios associados e possível reserva de vaga.

A entidade EntrevistaMatchCriterioEntity registra a relação entre uma entrevista e os critérios declarados ou comprovados. Ela armazena se o critério está ativo, se é a versão mais recente, eventual arquivo comprobatório e, nos critérios de renda, valores como renda familiar, quantidade de membros e renda per capita. Essa estrutura permite que o sistema não trate critérios apenas como campos fixos, mas como registros relacionais capazes de acompanhar versões, comprovações e mudanças. A configuração dos critérios é representada por CriteriosConfiguracaoCriterioEntity, que define a nota técnica associada, posição, subposição, exigência de comprovação, indicação de critério de renda e limite de renda quando aplicável.

Essa modelagem é relevante porque permite adaptar a regra de classificação sem transformar toda alteração em mudança direta no algoritmo. O sistema passa a ordenar entrevistas a partir da configuração vigente. A entidade Fila representa uma fila gerada para uma combinação de escola, etapa, turno e ano letivo. Já a entidade FilaGeradaPosicaoEntity armazena a posição de cada entrevista dentro de uma fila específica, preservando o vínculo com a entrevista e a posição geral calculada. Essa separação permite manter histórico de gerações de fila e consultar sempre a versão mais recente para determinada escola, etapa, turno e ano letivo.

3.2.2 Configuração dos Critérios de Prioridade

A Nota Técnica GAEPE-RO nº 007/2021 foi transposta para o sistema por meio de critérios configuráveis (Gaepe/RO, 2021). O sistema possui critérios definidos para situações como criança com deficiência, criança sob guarda de mulher vítima de violência doméstica ou familiar, família inscrita no Bolsa Família ou em programas de distribuição de renda, família monoparental e mãe economicamente ativa.

No back-end, cada critério pode ter posição, subposição e exigência de comprovação. Essa abordagem evita que a fila seja formada apenas por ordem cronológica de inscrição. Em vez disso, o sistema considera fatores de vulnerabilidade e prioridade, mantendo a data e horário da entrevista como critério posterior de desempate. Assim, a ordem final da fila é resultado de uma combinação entre regras normativas e dados coletados no atendimento. Nos critérios de renda, o sistema aplica validação adicional. Quando a configuração indica que o critério é do tipo renda, a entrevista só qualifica para aquele critério se possuir renda per capita informada e se essa renda estiver dentro do limite configurado. Isso impede que o critério seja considerado automaticamente sem validação do valor declarado.

3.2.3. Algoritmo de Geração e Ordenação da Fila

O núcleo técnico do back-end está na geração da fila. O serviço de fila recebe a secretaria municipal, escola, etapa, turno e ano letivo, localiza as entrevistas elegíveis, associa os critérios ativos de cada entrevista e executa a ordenação. O algoritmo não segue apenas o modelo FIFO, isto é, a ordem simples de chegada.Ele compara as entrevistas de acordo com a posição e subposição dos critérios ativos configurados. A função de comparação percorre os intervalos de prioridade definidos e verifica se uma entrevista possui determinado critério enquanto outra não possui.

Quando ambas possuem critérios na mesma posição, o sistema avalia subposições. Após comparar os critérios, se ainda houver empate, o algoritmo utiliza renda per capita como desempate quando os critérios envolvidos são do tipo renda. Persistindo o empate, a data e o horário da entrevista são usados para preservar a antiguidade do atendimento. Após a ordenação, cada entrevista recebe uma colocação sequencial.Em seguida, o sistema persiste uma nova entidade Fila e grava em lote as posições em fila_gerada_posicao. A persistência das posições geradas é importante porque permite consultar a fila posteriormente sem recalcular tudo a cada acesso, além de registrar o resultado de determinada geração. O sistema também contempla regeneração de filas. Quando uma entrevista é criada ou modificada, eventos internos disparam a criação de filas relacionadas às preferências de unidade e turno da criança.

O back-end considera até três preferências de unidade escolar e turno, evitando duplicidade quando as opções são iguais. Com isso, a mesma criança pode aparecer nas filas correspondentes às suas preferências válidas.

3.2.4. Processamento Assíncrono e Escalabilidade Operacional

A geração de filas pode envolver processamento custoso, especialmente em municípios com grande volume de entrevistas e múltiplas combinações de escola, etapa, turno e ano letivo. Para reduzir o impacto desse processamento nas requisições da API, o projeto possui suporte a execução assíncrona com Bull e Redis (BULL, 2026; REDIS, 2026).

Quando o modo de fila está habilitado, a geração é enviada para uma fila chamada fila-generation. Cada job contém os identificadores da secretaria, escola, etapa, turno e ano letivo. O job possui tentativas automáticas, backoff exponencial e política de remoção após conclusão ou falha. Um processo específico consome esses jobs e executa a rotina de criação da fila. Caso o modo assíncrono não esteja disponível, o serviço possui caminho de execução síncrona, funcionando como fallback. Essa estratégia melhora a resiliência operacional, pois separa o processamento de atualização das filas do atendimento imediato das requisições HTTP. Também permite escalar processos worker separadamente da API principal em ambientes com Docker ou Kubernetes.

3.2.5. APIs Públicas, Anonimização e Consulta da Posição

Um dos objetivos centrais da Central de Vagas é permitir que famílias acompanhem a fila de forma transparente. Para isso, o back-end expõe endpoints públicos que retornam informações anonimizadas da fila e endpoints de consulta individual por CPF e data de nascimento.

Na listagem pública anonimizada, o sistema retorna dados como colocação, etapa, preferências, critérios aplicados, data da entrevista, dias de permanência na fila e nome da criança anonimizado. Essa decisão técnica busca equilibrar publicidade e privacidade: a sociedade pode verificar a existência e a ordem da fila, mas sem exposição direta do nome completo das crianças, em atenção à transparência pública e à proteção de dados pessoais (Brasil, 2011, 2018). Na consulta individual, o sistema utiliza CPF da criança, data de nascimento e validações complementares para retornar às posições nas filas correspondentes.

Também há tratamento para casos em que a criança já recebeu reserva de vaga ou não consta na lista de espera do município informado. Essa camada de mensagens e validações reduz ambiguidades para o cidadão e evita exposição indevida de dados quando as informações fornecidas são inconsistentes.

3.2.6. Autenticação, autorização e perfis de acesso

As rotas administrativas utilizam autenticação por token de acesso. O serviço de autenticação valida o token, identifica o funcionário pelo CPF e carrega informações como cargo, tipo de vínculo, secretarias, unidades escolares e nível de acesso do usuário. O projeto contempla integração com provedor de identidade, tokens de integração e modo de token mock para ambiente local controlado.

Após a autenticação, o sistema aplica autorização baseada em políticas. Os perfis identificados no projeto incluem administrador, administrador municipal, atendente de secretaria, gestor de creche, auditoria e visitante domiciliar. Cada perfil possui uma política de autorização correspondente, permitindo que o back-end filtre ou restrinja operações conforme o vínculo institucional. Por exemplo, um gestor de creche não deve possuir a mesma abrangência de acesso de um administrador geral, e um usuário de auditoria precisa visualizar informações compatíveis com sua função fiscalizatória.

Essa estrutura reforça a segurança do sistema porque não depende apenas da interface para esconder botões ou menus. Mesmo que uma requisição seja feita diretamente à API, o back-end continua responsável por validar identidade, perfil e escopo de acesso.

3.2.7. Reserva de Vagas e Fluxo Administrativo

A reserva de vaga representa uma etapa sensível do processo, pois transforma a posição na fila em encaminhamento concreto para atendimento. O back-end possui módulo específico para reserva de vaga, incluindo entidade, controller, service, status e substatus.

Essa separação permite controlar o ciclo de vida da reserva, atualizar dados de matrícula e validar a relação entre fila, entrevista e vaga. Além disso, o sistema registra contatos realizados com responsáveis, permitindo acompanhar tentativas de comunicação e decisões administrativas. Esse tipo de registro é relevante para a transparência interna, pois a concessão de uma vaga depende não apenas da posição da criança, mas também de confirmação, contato e cumprimento de prazos.

3.2.8. Relatórios, Dashboard e Apoio à Tomada de Decisão

O back-end não se limita a alimentar telas operacionais. Ele também disponibiliza relatórios e indicadores para gestão. O projeto possui módulos de ReportModule, DashboardModule e PainelImplantacaoModule, com serviços voltados a relatórios de fila, entrevista, agendamento, reserva de vaga, vaga, criança e plano de atendimento.

Esses recursos permitem que gestores acompanhem a quantidade de crianças por fila, vagas concedidas, escolas, etapas, turnos, agendamentos, entrevistas e reservas. O uso de consultas paginadas, filtros, CSV e endpoints analíticos permite transformar dados administrativos em informação útil para planejamento público. Dessa forma, o sistema contribui não apenas para ordenar a fila atual, mas também para identificar demandas reprimidas e subsidiar decisões sobre ampliação de oferta.

3.2.9. Integrações, Notificações e Infraestrutura

O repositório da API contempla integrações e serviços auxiliares importantes para a operação. Há módulo de CadÚnico, com registro de dados de crianças e famílias, status de visita, status de matrícula, classificação de renda e verificação por CPF. Também existem jobs relacionados ao e-Cidade de Porto Velho, indicando integração com sistemas municipais para sincronização de dados do CadÚnico e matrícula. O sistema possui notificações por e-mail e WhatsApp, com templates para comprovante de agendamento, entrevista, reserva de vaga, reagendamento, desmarcação e notificações de registro de vagas.

Esse conjunto amplia a comunicação com responsáveis e gestores, reduzindo a dependência de contato manual. Na infraestrutura, o projeto utiliza Docker, Docker Compose, arquivos de implantação Kubernetes para desenvolvimento, staging e produção, além de Sentry para observabilidade de erros. Também há uso de MinIO/S3 para armazenamento de arquivos, Swagger para documentação da API e migrations TypeORM para versionamento do banco de dados.

No contexto deste trabalho, o Swagger funciona como evidência da organização do back-end, pois documenta rotas, parâmetros e respostas consumidos pelo front-end (OpenAPI Initiative, 2026; Silva et al., 2025).

3.2.10. Dados Quantitativos do Sistema

Além da estrutura técnica implementada, a Central de Vagas passou a concentrar um volume expressivo de dados operacionais relacionados ao atendimento das famílias, à organização das filas e à gestão da oferta de vagas em unidades públicas de educação infantil. Esses dados reforçam a aplicação prática do sistema, demonstrando que o back-end não atua apenas como camada de persistência, mas como base central para o acompanhamento da demanda, geração de filas, controle de reservas e produção de informações administrativas.

Até o período analisado, o sistema registrou 12.931 crianças cadastradas e 13.929 entrevistas, das quais 11.748 foram concluídas, 2.034 estavam aguardando atendimento e 147 foram classificadas como transferência. Esses números indicam que o módulo de entrevistas constitui uma das principais entradas de dados da aplicação, pois é a partir dele que são coletadas as informações necessárias para a análise de elegibilidade, associação de critérios e posterior inserção das crianças nas filas.

A base também apresentou 1.014.574 registros de fila gerados, evidenciando o volume de posições calculadas e armazenadas pelo sistema. Esse número é superior ao total de crianças e entrevistas porque uma mesma criança pode estar vinculada a diferentes combinações de secretaria municipal, unidade escolar, etapa, turno, ano letivo e preferências informadas. Dessa forma, o registro das posições geradas permite preservar o histórico das filas e disponibilizar consultas posteriores sem depender do recálculo completo a cada acesso.

No módulo de reserva de vagas, foram identificadas 11.730 reservas, distribuídas entre 10.081 deferidas, 945 transferidas, 514 indeferidas e 190 pendentes. Esses dados demonstram que o sistema também acompanha a etapa posterior à classificação na fila, apoiando o fluxo administrativo de encaminhamento para matrícula.

Esses indicadores demonstram que o sistema possui uso efetivo e concentra informações relevantes para a gestão pública da educação infantil. A partir desses dados, o back-end possibilita não apenas a execução operacional das filas, mas também a geração de relatórios, o acompanhamento da demanda reprimida, a análise da oferta disponível e o monitoramento das reservas realizadas. Assim, os dados quantitativos reforçam a importância da API como componente central para garantir rastreabilidade, transparência e apoio à tomada de decisão.

Tabela 1. Indicadores gerais da Central de Vagas

Indicador

Quntidade

Crianças cadastradas

12.931

Entrevistas registradas

13.929

Entrevistas concluídas

11.748

Entrevistas aguardando atendimento

2.034

Entrevistas de transferência

147

Registros de fila gerados

1.014.574

Fonte: Dados extraídos da base da Central de Vagas em Creches.

3.3. Detalhamento das Rotas e Funcionalidades

3.3.1. Rotas de Autenticação

A rota GET /auth/whoami retorna informações do usuário autenticado, permitindo que o front-end identifique o funcionário atual, seu vínculo e seu nível de acesso.

As rotas POST /auth/check-can-perform/:action e POST /auth/check-can-reach/:targetIdJson/:action auxiliam na validação de permissões para determinadas ações e recursos. Essas rotas demonstram que o controle de acesso não depende apenas da interface. O back-end valida se o usuário pode executar determinada ação antes de permitir operações administrativas.

3.3.2. Rotas de Entrevista

O módulo de entrevista é uma das bases do sistema, pois registra os dados coletados no atendimento das famílias.

A rota POST /entrevista cria uma entrevista, enquanto POST /entrevista/com-crianca permite cadastrar entrevista associada à criança. As rotas GET /entrevista , GET /entrevista/:id, PATCH /entrevista/:id e DELETE /entrevista/:id permitem listar, consultar, atualizar e remover registros conforme as regras do sistema. A rota POST /entrevista/elegivel-fila/:id atualiza a elegibilidade da entrevista para participação na fila. Já a rota GET /entrevista/download-arquivos-criterios-zip/:entrevistaId permite baixar arquivos relacionados à comprovação de critérios.

Essas funcionalidades mostram que o back-end não apenas registra a entrevista, mas também controla sua relação com critérios e documentos.

3.3.3. Rotas de Critérios e Configuração

O módulo de critérios permite cadastrar e manter os critérios utilizados na classificação das entrevistas.

As rotas GET /criterios , POST /criterios , PATCH /criterios/:id e DELETE /criterios/:id controlam os critérios disponíveis. Além disso, o módulo de configuração de critérios possui as rotas GET /secretaria-municipal/:secretariaMunicipalId/criterios/configuracao e PUT /secretaria-municipal/:secretariaMunicipalId/criterios/configuracao. Essas rotas permitem consultar e atualizar a configuração vigente para uma secretaria municipal, incluindo posição, subposição, exigência de comprovação e regras relacionadas à renda.

Essa configuração é fundamental para que o algoritmo de fila aplique a Nota Técnica GAEPE-RO nº 007/2021 de forma parametrizada, sem depender de alterações manuais no código a cada ajuste administrativo.

3.3.4. Rotas de Fila

O módulo de fila é o componente central da camada de servidor. Por meio da rota POST /fila/regerar, o sistema possibilita o reprocessamento das listagens utilizando parâmetros de secretaria, unidade escolar e o respectivo período anual. A requisição GET /fila/:idSecretaria/:idEscola/:idEtapa/:turno/:anoLetivo fornece o acesso administrativo à ordenação completa, sob rígidas políticas de autorização.

Visando a transparência pública, a API disponibiliza o endpoint GET /fila/anonimizada/:idSecretaria/:idEscola/:idEtapa/:turno/:anoLetivo, retornando as colocações sem expor dados sensíveis. O recurso GET /fila/csv/:idSecretaria/:idEscola/:idEtapa/:turno/:anoLetivo permite a exportação em formato tabular, contribuindo para processos de fiscalização e auditoria. A busca individual é realizada via GET /fila/posicoes para consultas por CPF, enquanto o endpoint GET /fila/cidade/:cidade/cpf/:cpf/data-nascimento/:dataNascimento efetua o cruzamento de dados para identificar o posicionamento na jurisdição municipal selecionada.

Integram ainda o módulo as rotas GET /fila/analytics/:anoLetivo/:secretariaMunicipalId e GET /fila/criancas/analytics/:anoLetivo/:secretariaMunicipalId, fornecendo subsídios para o monitoramento estatístico da demanda.

3.3.5. Algoritmo de Classificação da Fila

O algoritmo de classificação não utiliza apenas a ordem de chegada. Ele compara as entrevistas a partir dos critérios ativos, suas posições e subposições. Quando há empate entre critérios, o sistema avalia renda per capita nos critérios do tipo renda. Persistindo o empate, utiliza data e horário da entrevista como critério cronológico. Após a ordenação, o sistema atribui a colocação de cada entrevista e persiste as posições geradas em fila_gerada_posicao .

Dessa forma, a fila passa a ter um registro consultável, e não apenas um cálculo temporário. Essa abordagem fortalece a rastreabilidade e permite que o portal público e o dashboard administrativo utilizem a mesma base de classificação.

3.3.6. Rotas de Reserva de Vaga

O módulo de reserva de vaga controla a etapa em que uma posição da fila se transforma em encaminhamento para matrícula. A rota POST /reserva-vaga/validar-fila valida se a reserva é compatível com a fila. A rota POST /reserva-vaga cria uma reserva, enquanto GET /reserva-vaga , GET /reserva-vaga/:id e GET /reserva-vaga/entrevista/:entrevistaId permitem consultar reservas.

Também existem rotas para busca ativa, atualização de status e dados de matrícula, como POST /reserva-vaga/buscaativa , POST /reserva-vaga/status/:id e POST /reserva-vaga/dados-matricula/:id . Essas rotas demonstram que o back-end acompanha o fluxo administrativo posterior à classificação na fila.

3.3.7. Rotas de Escolas, Turmas e Vagas

As rotas de escola, turma e vaga representam a estrutura de oferta disponível. O módulo de escola possui rotas para cadastrar, listar, consultar, atualizar e remover unidades escolares. O módulo de turma controla etapas, turnos e ano letivo. O módulo de vagas permite consultar e atualizar a quantidade de vagas disponíveis, incluindo a rota GET /vagas/quantidade-vagas/:ano/:secretariaId/:escolaId/:etapaId/ :turno .

Essas informações são essenciais para relacionar a demanda da fila com a oferta real das unidades escolares.

3.3.8. Rotas de Agendamento

O módulo de agendamento permite organizar atendimentos presenciais ou administrativos. Existem rotas para consultar calendário por local de atendimento e gerência de agendamento, buscar agendamento por CPF da criança, cadastrar, atualizar e excluir agendamentos.

Também há rotas para horários e dias disponíveis. Esse módulo é importante porque a entrevista, que alimenta a fila, depende de um processo prévio de atendimento. Assim, o back-end integra o fluxo de agendamento ao fluxo de classificação.

3.3.9. Rotas de CadÚnico

O módulo de CadÚnico permite registrar e consultar dados sociais relevantes para análise de vulnerabilidade. A API possui rotas para criar registros, listar, buscar por ID, verificar CPF, atualizar, remover e sincronizar dados por CSV.

Há também rotina administrativa para atualização de status. Essa integração contribui para qualificar informações socioeconômicas e apoiar critérios relacionados à renda, matrícula e situação familiar.

3.3.10. Rotas de Relatórios

A rota GET /report/generateReport/:reportType centraliza a geração de relatórios de diferentes tipos. O sistema possui serviços específicos para relatórios de fila, entrevista, agendamento, reserva de vaga, vaga, criança e plano de atendimento.

Os relatórios são importantes para a gestão pública porque transformam os dados operacionais em informações de planejamento. Com eles, gestores podem acompanhar demanda por município, escola, etapa, turno, situação das reservas e evolução das entrevistas.

3.3.11. Rotas de Notificações

O sistema possui rotas e serviços para notificações e registro de logs de notificação. Além disso, o back-end contém templates de e-mail e WhatsApp para comprovantes de agendamento, entrevista, reserva de vaga, reagendamento, desmarcação e notificações de registro de vagas.

Essas funcionalidades melhoram a comunicação com os responsáveis e ajudam a reduzir falhas no contato durante o processo de concessão de vaga.

3.4. Discussão dos Resultados

Os resultados obtidos demonstram que a Central de Vagas em Creches ultrapassa a condição de protótipo ou prova de conceito, configurando-se como uma solução efetivamente utilizada na gestão pública da educação infantil. Os mais de 12 mil cadastros de crianças, quase 14 mil entrevistas registradas e mais de um milhão de posições de fila processadas evidenciam a capacidade operacional do sistema para atender demandas reais em larga escala.

A informatização da gestão das filas permitiu transformar um processo tradicionalmente conduzido por registros dispersos, planilhas eletrônicas ou controles locais em uma plataforma centralizada, capaz de aplicar automaticamente critérios de priorização previamente definidos. Essa característica reduz a subjetividade na classificação dos candidatos e contribui para a uniformização dos procedimentos administrativos entre diferentes unidades e equipes responsáveis pelo atendimento.

Outro aspecto relevante refere-se à rastreabilidade das decisões. Em processos manuais, alterações de posição na fila, mudanças de critérios ou concessões de vagas podem ser difíceis de auditar retrospectivamente. Na solução desenvolvida, cada etapa do processo permanece registrada em banco de dados, permitindo reconstruir o histórico das entrevistas, dos critérios aplicados, das posições geradas e das reservas concedidas. Essa característica fortalece mecanismos de controle interno e externo, favorecendo a transparência administrativa.

Os resultados também evidenciam a importância da parametrização dos critérios definidos pela Nota Técnica GAEPE-RO nº 007/2021. Em vez de codificar permanentemente as regras de priorização, o sistema permite que critérios, posições e subposições sejam configurados administrativamente. Essa abordagem reduz o custo de manutenção da solução e amplia sua capacidade de adaptação a futuras alterações normativas, característica importante em sistemas de governo digital.

Do ponto de vista tecnológico, a adoção de arquitetura modular baseada em APIs REST, processamento assíncrono com filas de tarefas e mecanismos de autenticação e autorização por perfis contribuiu para a construção de uma plataforma escalável e adequada a ambientes institucionais. A separação entre portal público, dashboard administrativo e camada de serviços favorece a evolução independente dos componentes e amplia as possibilidades de integração com outros sistemas governamentais.

Os dados quantitativos também revelam potencial para apoio à tomada de decisão. O volume de entrevistas realizadas, reservas concedidas e posições de fila geradas permite produzir indicadores relacionados à demanda reprimida, à distribuição territorial da procura por vagas e ao comportamento dos critérios de priorização. Dessa forma, a plataforma não apenas operacionaliza o processo de classificação, mas também cria condições para a geração de inteligência gerencial capaz de subsidiar políticas públicas voltadas à expansão da educação infantil.

Os resultados observados convergem com estudos sobre transformação digital no setor público, os quais apontam que a digitalização de processos administrativos tende a ampliar a transparência, a padronização dos procedimentos e a disponibilidade de informações para gestores e cidadãos. No contexto da educação infantil, a solução desenvolvida demonstra como tecnologias de informação podem contribuir para a governança de serviços públicos sensíveis, nos quais critérios de priorização, equidade e acesso à informação possuem elevada relevância social.

Entretanto, algumas limitações devem ser consideradas. A qualidade dos resultados depende diretamente da consistência das informações fornecidas durante as entrevistas e da atualização permanente dos dados cadastrais. Além disso, embora o sistema tenha sido desenvolvido para atender às diretrizes da Nota Técnica GAEPE-RO nº 007/2021, a replicação da solução em outros contextos poderá demandar adaptações normativas e operacionais. Estudos futuros poderão avaliar quantitativamente o impacto da plataforma sobre indicadores de eficiência administrativa, tempo de atendimento, redução de inconsistências e percepção de transparência por parte dos cidadãos.

4. CONCLUSÃO

O presente trabalho apresentou o desenvolvimento do back-end da Central de Vagas em Creches, uma plataforma voltada à gestão transparente das filas de espera por vagas na educação infantil. A solução foi concebida para apoiar a aplicação padronizada dos critérios de priorização estabelecidos pela Nota Técnica GAEPE-RO nº 007/2021, promovendo maior confiabilidade, rastreabilidade e transparência na administração das listas de espera.

A arquitetura implementada permitiu integrar diferentes processos administrativos em uma única plataforma, contemplando cadastro de crianças, entrevistas, critérios de classificação, geração automatizada de filas, reserva de vagas, consultas públicas, relatórios gerenciais e mecanismos de autenticação e autorização. A utilização de tecnologias modernas de desenvolvimento possibilitou a construção de uma solução modular, escalável e preparada para integração com sistemas externos e ambientes de produção de larga escala.

Os resultados obtidos demonstram a aplicabilidade prática da solução. Os milhares de cadastros, entrevistas processadas, reservas realizadas e posições de fila geradas evidenciam que o sistema passou a desempenhar papel central na gestão das vagas de educação infantil, substituindo processos fragmentados por uma abordagem estruturada, auditável e baseada em regras computacionais transparentes.

Além do suporte operacional, o sistema contribui para a governança pública ao disponibilizar informações consolidadas para gestores, órgãos de controle e cidadãos. A centralização dos dados e a automatização da aplicação dos critérios reduzem a possibilidade de inconsistências administrativas e fortalecem mecanismos de accountability, aspectos essenciais em políticas públicas que envolvem direitos sociais e atendimento de populações em situação de vulnerabilidade.

Como contribuição científica, o trabalho demonstra a viabilidade de traduzir diretrizes normativas de priorização em mecanismos computacionais parametrizáveis, preservando simultaneamente transparência, proteção de dados pessoais e capacidade de auditoria. O estudo também evidencia como arquiteturas modernas de desenvolvimento podem ser aplicadas à transformação digital de processos públicos complexos e socialmente relevantes.

Como limitações, destaca-se que a pesquisa concentrou-se na descrição e implementação da solução tecnológica, não contemplando uma avaliação longitudinal do impacto da plataforma sobre indicadores administrativos e sociais. Dessa forma, pesquisas futuras poderão investigar efeitos relacionados à redução do tempo de processamento das filas, à diminuição de inconsistências operacionais, à percepção de transparência pelos usuários e ao uso dos dados gerados pelo sistema para o planejamento da expansão da oferta de vagas na educação infantil.

Conclui-se que o back-end da Central de Vagas constitui o elemento estruturante responsável por garantir a aplicação uniforme dos critérios de classificação, a integridade das informações e a transparência do processo de distribuição de vagas. Ao transformar diretrizes administrativas em regras computacionais auditáveis, a solução contribui para o fortalecimento da gestão pública digital e para a ampliação da confiança da sociedade nos mecanismos de acesso à educação infantil.

REFERÊNCIAS BIBLIOGRÁFICAS

BRASIL. Constituição da República Federativa do Brasil de 1988. Brasília, DF: Presidência da República, 1988. Disponível em: https://www.planalto.gov.br/ccivil_03/constituicao/constituicao.html. Acesso em: 8 jun. 2026.

BRASIL. Lei nº 12.527, de 18 de novembro de 2011. Lei de Acesso à Informação. Brasília, DF: Presidência da República, 2011. Disponível em: https://www.planalto.gov.br/ccivil_03/_ato2011-2014/2011/lei/l12527.htm. Acesso em: 16 jun. 2026.

BRASIL. Lei nº 13.709, de 14 de agosto de 2018. Lei Geral de Proteção de Dados Pessoais (LGPD). Brasília, DF: Presidência da República, 2018. Disponível em: https://www.planalto.gov.br/ccivil_03/_ato2015-2018/2018/lei/l13709.html. Acesso em: 8 jun. 2026.

BULL. Bull: Premium Queue package for handling distributed jobs. Disponível em: https://github.com/OptimalBits/bull. Acesso em: 8 jun. 2026.

FIELDING, Roy Thomas. Architectural styles and the design of network-based software architectures. 2000. Tese (Doutorado em Ciência da Computação) – University of California, Irvine, 2000. Disponível em: https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm. Acesso em: 16 jun. 2026.

FIGMA. Figma Help Center. Disponível em: https://help.figma.com/. Acesso em: 18 jun. 2026.

GAEPE-BRASIL. Retrato da educação infantil no Brasil: acesso e disponibilidade de vagas. 2024.

GAEPE/RO. Nota Técnica GAEPE-RO nº 007/2021. Porto Velho, RO, 2021. Disponível em: https://mpc.ro.gov.br/wp-content/uploads/2022/07/10.-Nota-Tecnica-n.-07-2021-_-Atualizada.pdf. Acesso em: 8 jun. 2026.

GITLAB. GitLab CI/CD documentation. Disponível em: https://docs.gitlab.com/ci/. Acesso em: 18 jun. 2026.

INEP. Instituto Nacional de Estudos e Pesquisas Educacionais Anísio Teixeira (INEP). Relatório do 4º Ciclo de Monitoramento das Metas do Plano Nacional de Educação - 2022. Brasília, DF: Inep, 2022

NESTJS. Documentation. Disponível em: https://docs.nestjs.com/. Acesso em: 8 jun. 2026.

OPENAPI INITIATIVE. OpenAPI Specification. Disponível em: https://swagger.io/specification/. Acesso em: 8 jun. 2026.

REDIS. Redis documentation. Disponível em: https://redis.io/docs/latest/. Acesso em: 16 jun. 2026.

RUBIN, Kenneth S. Essential Scrum: a practical guide to the most popular agile process. Boston: Addison-Wesley, 2012.

SILVA, Danilo Saiter da et al. Desenvolvimento de software para gestão transparente das filas de vagas em creches: uma visão a partir do front-end. Revista Caderno Pedagógico, Curitiba, v. 22, n. 8, 2025. DOI: 10.54033/cadpedv22n8-231.

SONARSOURCE. SonarQube Server documentation. Disponível em: https://docs.sonarsource.com/sonarqube-server/. Acesso em: 18 jun. 2026.

SUTHERLAND, Jeff. Scrum: a arte de fazer o dobro do trabalho na metade do tempo. São Paulo: Leya, 2016.

TIZZO, L. G. L.; SILVA, L. M. A escassez de vagas em creches: desenvolvimento infantil e direito da mulher trabalhadora. 2023.

YIN, Robert K. Estudo de caso: planejamento e métodos. 5. ed. Porto Alegre: Bookman, 2015.