Skip to main content

ADR-0000 — Fundação do Projeto

Status

Aprovado

Contexto

O projeto EBDbe (EBD + Ebenezer) nasce com o propósito de implementar uma solução digital para controle e gestão da Escola Bíblica Dominical (EBD), contemplando:

  • Controle automatizado e híbrido de frequência
  • Gestão hierárquica organizacional
  • Registro de aulas e materiais utilizados
  • Estrutura multi-igreja
  • Preservação de privacidade dos participantes
  • Uso predominante via dispositivos móveis

Antes do início do desenvolvimento de código, faz-se necessário registrar as decisões estruturantes que nortearão todo o ciclo de vida do projeto.

Este ADR estabelece a fundação tecnológica, organizacional e de governança do projeto.


Decisão

1. Arquitetura Geral

A solução será baseada em arquitetura web mobile-first, utilizando:

  • Frontend em Flutter Web (PWA)
  • Backend em Firebase
  • Banco de dados Firestore
  • Cloud Functions escritas em TypeScript

2. Stack Tecnológica Oficial

Frontend

  • Flutter Web (Dart)
  • Estrutura baseada em princípios de Clean Architecture simplificada
  • Organização modular

Backend

  • Firebase Authentication
  • Firestore
  • Cloud Functions (TypeScript)
  • Firebase Emulator para desenvolvimento local

3. Ambiente de Desenvolvimento

  • Sistema operacional: Windows
  • Editor principal: Cursor IDE (para este projeto)
  • Controle de versão: Git
  • Repositório: Bitbucket
  • Fluxo de versionamento baseado em branches

4. Governança de Uso de IA

A utilização de ferramentas de Inteligência Artificial é autorizada como apoio ao desenvolvimento, respeitando as seguintes diretrizes:

  • IA pode sugerir código e documentação
  • IA pode propor refatorações
  • IA pode sugerir comandos de terminal
  • IA não realiza commits automáticos sem revisão humana
  • Decisões arquiteturais devem ser formalizadas via ADR
  • Prompts arquiteturais relevantes devem ser registrados quando necessário

A IA atua como assistente técnico, não como autoridade decisória.


5. Organização Estrutural do Repositório

A estrutura inicial do projeto seguirá o padrão:

ebdbe/ │ ├── frontend/ ├── backend/ ├── docs/ │ ├── architecture/ │ │ └── adrs/ │ ├── diagrams/ │ └── models/ │ └── README.md

Os ADRs serão nomeados seguindo o padrão:

Exemplo: adr-0001-arquitetura-geral-do-sistema.md


6. Princípios Fundamentais

  1. Arquitetura antes de código
  2. Privacidade por padrão
  3. Simplicidade incremental
  4. Evolução controlada via ADR
  5. Separação clara entre domínio, aplicação e infraestrutura

Consequências

  • O projeto inicia formalmente pelo registro arquitetural
  • Mudanças estruturais futuras deverão ser registradas como novos ADRs
  • O desenvolvimento seguirá abordagem incremental
  • A fundação tecnológica fica oficialmente definida neste documento