Pular para conteúdo

11 Regras de Negócio do MVP

Este documento formaliza as regras de negócio que governam o comportamento do sistema Liaison. Cada regra foi derivada dos requisitos funcionais, não funcionais e das histórias de usuário do Backlog do Produto, e reflete as decisões tomadas pela equipe em conjunto com o cliente.

Convenção de numeração: RN<##> — Regra de Negócio sequencial global.
Rastreabilidade: Cada regra indica os RFs, RNFs e USs que a fundamentam.


11.1 Aprovação e Moderação de Organizações

Regras que controlam o ciclo de vida do cadastro de organizações sociais na plataforma, desde o registro inicial até a aprovação ou rejeição pelo administrador.

Rastreabilidade: RF02 (Cadastrar organização), RF06 (Moderar organização), US1.2, US1.7, RNF03.

ID Regra de Negócio Justificativa
RN01 Toda organização cadastrada inicia com status "pendente" e conta inativa (is_active=false). Garante que nenhuma organização publique vagas sem antes passar pela triagem do administrador (US1.7).
RN02 Organização com status "pendente" ou "rejeitada" não pode autenticar-se na plataforma. O login só é liberado após aprovação administrativa, protegendo estudantes de organizações não verificadas (US1.3, US1.7).
RN03 Somente usuários com papel administrador podem aprovar, rejeitar ou solicitar informações adicionais de uma organização. Restrição de acesso baseada em papel (role-based access control) para proteger o fluxo de moderação (US1.7).
RN04 A aprovação de uma organização altera seu status para "aprovado" e ativa a conta (is_active=true), permitindo login e publicação de vagas. Transição de estado que libera o acesso completo da organização à plataforma (US1.7).
RN05 A rejeição de uma organização altera seu status para "rejeitado", mantém a conta inativa e exige justificativa obrigatória por parte do administrador. A justificativa garante transparência e permite que a organização corrija problemas e solicite novo cadastro (US1.7).
RN06 A ação de "solicitar informações" exige uma mensagem obrigatória do administrador e não altera o status da organização (permanece "pendente"). Permite ao administrador pedir esclarecimentos sem aprovar ou rejeitar prematuramente (US1.7).
RN07 Toda ação de moderação (aprovação, rejeição, solicitação de informações) é registrada em log de auditoria contendo: administrador responsável, organização alvo, tipo de ação, detalhes e data/hora. Trilha de auditoria para prestação de contas e rastreabilidade de decisões administrativas (US1.7).
RN08 O CNPJ deve ser validado algoritmicamente (dígitos verificadores) e ser único no sistema. O CNPJ é armazenado apenas como dígitos (sem máscara). Garante a legitimidade e unicidade do cadastro de organizações (RNF03, US1.2).
RN09 O e-mail da organização deve ser único no sistema e não pode ser alterado após o cadastro. Previne duplicidade de contas e garante integridade do identificador de login (US1.2).

11.2 Publicação e Encerramento de Oportunidades

Regras que controlam o ciclo de vida das vagas de voluntariado, desde a criação em rascunho até o encerramento.

Rastreabilidade: RF18 (Criar oportunidade), RF19 (Editar oportunidade), RF20 (Publicar oportunidade), RF21 (Encerrar oportunidade), US2.1, US2.2, US2.3, US2.4.

ID Regra de Negócio Justificativa
RN10 Somente organizações com status "aprovado" podem criar oportunidades de voluntariado. Impede que organizações pendentes ou rejeitadas publiquem vagas na plataforma (RN01, RN04, US2.1).
RN11 Uma oportunidade pode ser salva como rascunho com campos parcialmente preenchidos. Rascunhos não são visíveis para estudantes. Permite que a organização construa a vaga progressivamente antes de publicá-la (US2.1).
RN12 Para publicação, todos os campos obrigatórios devem estar preenchidos: título, área, descrição, modalidade, datas de início e término, e carga horária semanal. Se a modalidade for presencial ou híbrida, o endereço/local é obrigatório. Garante que estudantes tenham todas as informações necessárias para tomar decisão de candidatura (US2.3, US2.6).
RN13 Uma oportunidade publicada fica visível para todos os estudantes cadastrados na plataforma e pode ser encontrada via busca. Atende ao objetivo de conectar estudantes e organizações de forma centralizada (OE01, US2.3, US2.5).
RN14 Somente a organização criadora da oportunidade pode editá-la, publicá-la ou encerrá-la. Controle de propriedade que impede que uma organização altere vagas de outra (US2.2, US2.4).
RN15 A edição de uma oportunidade publicada mantém seu status ativo; já a edição de um rascunho mantém o status de rascunho. A organização pode reeditar os campos de uma vaga ativa a qualquer momento. Permite ajustes sem necessidade de republicação, mantendo a visibilidade para estudantes (US2.2).
RN16 O encerramento de uma oportunidade altera seu status para "encerrada" e impede novas candidaturas. Candidaturas existentes mantêm seu status atual. O encerramento não prejudica candidatos já inscritos, respeitando o compromisso firmado (US2.4).
RN17 Uma oportunidade encerrada pode ser reaberta pela organização criadora, voltando a aceitar candidaturas. Oferece flexibilidade caso a organização precise reativar uma vaga previamente encerrada (US2.4).

11.3 Candidatura: Duplicidade, Cancelamento e Avaliação

Regras que governam o fluxo de candidatura dos estudantes às vagas de voluntariado, incluindo restrições de duplicidade, possibilidades de cancelamento e critérios de avaliação pela organização.

Rastreabilidade: RF10 (Realizar candidatura), RF11 (Avaliar candidatura), RF12 (Acompanhar candidatura), US2.7, US2.8, US2.9, US2.10.

ID Regra de Negócio Justificativa
RN18 Somente usuários com papel estudante podem se candidatar a vagas de voluntariado. Restrição de papel: organizações e administradores não se candidatam (US2.7).
RN19 Um estudante não pode se candidatar mais de uma vez à mesma oportunidade. A tentativa de candidatura duplicada deve ser bloqueada pelo sistema. Previne spam de candidaturas e garante integridade dos dados de inscrição (US2.7).
RN20 Candidatura só é permitida em oportunidades com status "publicada" (ativa). Oportunidades em rascunho ou encerradas não aceitam candidaturas. Garante que o estudante só se inscreva em vagas válidas e visíveis (RN13, RN16, US2.7).
RN21 A candidatura inicia com status "pendente". Os status possíveis são: pendente → aprovada, pendente → recusada, pendente → cancelada. Define a máquina de estados da candidatura com transições claras (US2.7, US2.8, US2.9).
RN22 O estudante pode cancelar sua própria candidatura enquanto ela estiver com status "pendente". Candidaturas já aprovadas ou recusadas não podem ser canceladas pelo estudante. O cancelamento é um direito do candidato antes da decisão da organização; após aprovação, o compromisso de frequência já se inicia (US2.9).
RN23 A organização pode aprovar ou recusar candidaturas pendentes. A decisão é individual por candidatura e deve ser feita pela organização responsável pela oportunidade. Garante que a organização tenha controle sobre quem participa de suas atividades (US2.8).
RN24 Mudanças de status de candidatura (aprovação, recusa, cancelamento) devem gerar notificação para o estudante afetado. Mantém o estudante informado em tempo hábil sobre o andamento de suas candidaturas (US2.10).
RN25 Caso a organização encerre uma oportunidade, candidaturas com status "pendente" permanecem pendentes, mas novas candidaturas são bloqueadas (conforme RN16). Preserva candidaturas já realizadas sem comprometer o encerramento da vaga (RN16, US2.4).

11.4 Registro de Frequência e Carga Horária

Regras que controlam o registro de presença e a contabilização de horas de voluntariado dos estudantes aprovados em atividades.

Rastreabilidade: RF13 (Listar aprovados), RF14 (Registrar frequência), US3.1, US3.2, RNF08.

ID Regra de Negócio Justificativa
RN26 Somente a organização responsável pela oportunidade pode registrar frequência e atestar carga horária dos estudantes. Controle de propriedade: uma organização não pode registrar frequência em vagas de outra (US3.2).
RN27 O registro de frequência só é permitido para estudantes cuja candidatura foi aprovada na oportunidade correspondente. Apenas participantes efetivamente aceitos podem ter presença registrada (RN21, US3.1, US3.2).
RN28 Cada registro de frequência deve conter, no mínimo: data da atividade, carga horária (em horas) e descrição da atividade realizada. Garante a rastreabilidade e a validade do registro para fins de comprovação acadêmica (US3.2).
RN29 A carga horária registrada deve ser um valor positivo e coerente (valores zerados ou negativos são rejeitados). Impede registros inválidos que comprometam a integridade dos dados de horas (US3.2).
RN30 Registros de frequência são imutáveis após a criação. Uma vez atestada, a frequência não pode ser editada nem excluída. Requisito de segurança que garante a confiabilidade dos dados para emissão de certificados (RNF08, US3.2).
RN31 A organização pode visualizar a lista completa de estudantes aprovados para cada oportunidade, incluindo status de frequência e total de horas acumuladas. Facilita o gerenciamento de acompanhamento e presença por parte da organização (US3.1).

11.5 Emissão e Imutabilidade de Certificados

Regras que controlam a geração, integridade e validação dos certificados digitais de voluntariado emitidos pela plataforma.

Rastreabilidade: RF15 (Emitir certificado), RF16 (Consultar histórico), RF17 (Validar certificado), US3.3, US3.4, US3.5, US3.6, US3.7, RNF07, RNF08, RNF09.

ID Regra de Negócio Justificativa
RN32 O certificado digital é gerado automaticamente pelo sistema quando a organização finaliza/conclui o registro de frequência de um estudante em uma atividade. Automatiza o fluxo de certificação, eliminando a necessidade de solicitação manual (US3.3).
RN33 Cada certificado recebe um identificador único no formato UUID v4 (conforme RFC 4122), que serve como código de autenticidade. Garante unicidade global e previne falsificação de certificados (RNF09, US3.7).
RN34 O certificado é gerado em formato PDF e deve conter, no mínimo: nome completo do estudante, nome da organização, título da atividade, carga horária total, período de realização (datas), UUID de autenticidade e data de emissão. Garante que o certificado contenha todas as informações necessárias para comprovação acadêmica perante instituições de ensino (US3.3, US3.4).
RN35 Certificados emitidos são imutáveis. Após a emissão, o conteúdo do certificado não pode ser alterado, editado nem excluído por nenhum usuário do sistema (incluindo administradores). Requisito crítico de segurança e confiabilidade: o certificado é um documento comprobatório e sua integridade deve ser garantida (RNF08).
RN36 O estudante pode fazer download de seus certificados em PDF a qualquer momento pelo seu perfil ou histórico de atividades. Garante acesso permanente aos comprovantes acadêmicos (US3.4, US3.6).
RN37 O estudante pode consultar seu histórico de horas de voluntariado, visualizando o total acumulado, as atividades realizadas e os certificados emitidos. Permite o acompanhamento da evolução acadêmica em relação às horas de extensão exigidas pela instituição (US3.5, Resolução CNE/CES nº 7/2018).
RN38 A autenticidade de um certificado pode ser verificada publicamente por qualquer pessoa através de URL ou QR Code contendo o UUID, sem necessidade de login. Permite que instituições de ensino e terceiros validem a legitimidade do certificado de forma independente (US3.7, RNF09).

11.6 Regras Transversais (Validação e Segurança)

Regras de negócio que se aplicam de forma transversal a múltiplos módulos do sistema.

ID Regra de Negócio Justificativa Rastreabilidade
RN39 Senhas devem ter no mínimo 8 caracteres e conter letras e números. São armazenadas com criptografia bcrypt (work factor ≥ 12). Política de segurança de credenciais (RNF01). RF01, RF02, RF03, RNF01
RN40 O e-mail do usuário é o identificador único de login para estudantes e administradores. Para organizações, o login pode ser feito via CNPJ. Define os identificadores de autenticação por tipo de usuário (US1.3). RF03, US1.3
RN41 A matrícula do estudante deve ser única no sistema. Previne duplicidade de registros acadêmicos (US1.1). RF01, US1.1
RN42 Toda criação de usuário (estudante ou organização) e seu perfil correspondente é realizada de forma atômica (transação). Se qualquer etapa falhar, todo o cadastro é revertido. Garante consistência dos dados: não há usuário sem perfil nem perfil sem usuário (US1.1, US1.2). RF01, RF02

11.7 Referência Cruzada: Regras × Critérios de Aceitação das USs

A tabela abaixo mapeia cada regra de negócio às User Stories cujos critérios de aceitação devem incorporar a respectiva regra.

Regra User Stories Impactadas Área
RN01–RN09 US1.2, US1.3, US1.7 Moderação de Organizações
RN10–RN17 US2.1, US2.2, US2.3, US2.4, US2.5, US2.6 Oportunidades
RN18–RN25 US2.7, US2.8, US2.9, US2.10 Candidaturas
RN26–RN31 US3.1, US3.2 Frequência e Carga Horária
RN32–RN38 US3.3, US3.4, US3.5, US3.6, US3.7 Certificação
RN39–RN42 US1.1, US1.2, US1.3 Validação e Segurança

Nota: Para cada US listada acima, os cenários de aceitação (formato Dado / Quando / Então) devem validar explicitamente as regras de negócio associadas. Exemplo: o cenário de aceitação de US2.7 (candidatura) deve incluir caso de teste para candidatura duplicada (RN19) e para candidatura em vaga encerrada (RN20).


Histórico de Versões

Data Versão Descrição Autor(es)
30/06/2026 0.1 Criação do documento com regras RN01–RN42 Davi (auslogyc)