Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • wiki wiki
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Plataforma de Doações para o Pão dos Pobres
  • wikiwiki
  • Wiki
  • Banco de Dados

Last edited by Bernardo Possani Kirsch Oct 12, 2025
Page history
This is an old version of this page. You can view the most recent version or browse the history.

Banco de Dados

Home Escopo e Cronograma Git Workflow Design e Mockups Configuração Arquitetura Front-End Back-End BD Gerência

Banco de Dados – Plataforma de Doações

Visão Geral

O banco de dados foi projetado para suportar a plataforma de campanhas de arrecadação, contemplando usuários (administradores e doadores), endereços, campanhas, doações, pagamentos e eventos.


Entidades e Estrutura

user_account

  • id (UUID, PK)
  • email (único, obrigatório)
  • password_hash

admin

  • user_id (PK, FK → user_account.id)
  • root (boolean, indica superadmin)

donor

  • user_id (PK, FK → user_account.id)
  • tax_id (CPF, único)
  • full_name, birth_date, gender, phone

address

  • id (UUID, PK)
  • state, city, street, number, complement

donor_address

  • PK composta (donor_id, address_id)
  • is_primary (boolean)
  • addr_type (ex.: residencial, comercial)

campaign

  • id (UUID, PK)
  • description, target_amount, start_date, end_date, image_url
  • status (campaign_status)
  • admin_id (FK → admin.user_id)
  • requester_id (FK → donor.user_id)

donation

  • id (UUID, PK)
  • donation_type
  • amount, periodicity, impact_area
  • donor_id (FK → donor.user_id)
  • campaign_id (FK → campaign.id)
  • created_at (timestamptz)

payment

  • id (UUID, PK)
  • method (payment_method)
  • status (payment_status)
  • amount, paid_at
  • donation_id (FK → donation.id)

event_item

  • id (UUID, PK)
  • url, description, start_date, end_date, created_at
  • admin_id (FK → admin.user_id)

Índices

  • donor_address(address_id)
  • campaign(admin_id)
  • donation(donor_id)
  • donation(campaign_id)
  • payment(donation_id)

Observações

  • Constraints de ON DELETE foram configuradas conforme regras de negócio.
  • Doações preservam histórico mesmo se a campanha for excluída.
  • Defaults: uuid_generate_v4() para IDs e NOW() para timestamps.

Diagrama Entidade-Relacionamento

diagramaBD_pao_dos_pobres

O diagrama representa as principais entidades, atributos e relacionamentos do sistema, incluindo os enums campaign_status, payment_status e payment_method.

Clone repository
  • Arquitetura
  • BackEnd
  • Banco de Dados
  • Configuração
  • Design e Mockups
  • Escopo e Cronograma
  • FrontEnd
  • Gerência
  • Git Workflow
  • Qualidade
  • Home