Dance • Experience • Movement

O De Paula

Program

Transformando movimento em experiência. Workshops, formações e residências que tratam o corpo como matéria de precisão.

Conheça mais
Dançarina em movimento sob luz dura

Fig. 01 — Estúdio / luz dura

Agenda

Próximos eventos

Junho 2026

Dançarino em ensaio
28JUN
Workshop

Movimento intencional

Hora14:00 LocalSão Paulo — SP Vagas24
Saiba mais
Salto em performance de dança
12JUL
Intensivo

Corpo e estrutura

Hora09:00 LocalBelo Horizonte — MG Vagas18
Saiba mais
Dupla de dançarinos em cena
03AGO
Residência

Metal & matéria

Hora19:30 LocalCuritiba — PR Vagas12
Saiba mais

Validação

Seu certificado

Consulte a autenticidade do seu certificado através da chave de validação.

Exemplo: ODP-2026-A7K92X

Contato

Vamos conversar?

Entre em contato para parcerias, eventos, workshops ou qualquer outra dúvida.

Mensagem enviada. Respondemos em até 24 horas.

Acesso administrativo

Painel

Dashboard

Próximos eventos

Atividades recentes

Agenda

Eventos

EventoTipoDataLocalInscritosStatus

Base

Participantes

NomeCPFContatoCidade/UFStatus

Relação participante + evento

Inscrições

NúmeroParticipanteEventoDataTipoStatus

Controle

Presença

ParticipanteInscriçãoCheck-inEntradaCheck-outSaídaPermanênciaStatusCertificado

Lei de incentivo à cultura

Frequência

Emissão e validação

Certificados

ChaveNúmeroParticipanteEventoCargaConsultasStatus

Prestação de contas

Comprovação cultural

Formulário do site

Contatos

DataContatoMensagemStatus

Auditoria

Logs

QuandoAçãoDetalheUsuário

Projeto

Configurações

Banco de dados

Só o administrador faz login. O site público lê eventos e certificados sem autenticação e grava apenas contatos e consultas.

Regras do Realtime Database

{
  "rules": {
    "odp": {
      "events":        { ".read": true, ".write": "auth != null" },
      "certificates":  { ".read": true, ".write": "auth != null" },
      "settings":      { ".read": true, ".write": "auth != null" },

      "participants":  { ".read": "auth != null", ".write": "auth != null" },
      "registrations": { ".read": "auth != null", ".write": "auth != null" },
      "attendance":    { ".read": "auth != null", ".write": "auth != null" },
      "evidence":      { ".read": "auth != null", ".write": "auth != null" },
      "auditLogs":     { ".read": "auth != null", ".write": "auth != null" },

      "contacts":  { ".read": "auth != null",
                     "$id": { ".write": "!data.exists()" } },
      "consultas": { ".read": "auth != null",
                     "$id": { ".write": "!data.exists()" } }
    }
  }
}

Dados pessoais de participantes, inscrições e presença ficam fechados: só quem está autenticado lê. Em contacts e consultas a regra !data.exists() permite criar um registro novo, mas nunca ler, alterar ou apagar os que já existem.