Sistema de Pedidos de Oração
Sistema completo para gestão de pedidos de oração e intercessão
Visão Geral
O Sistema de Pedidos de Oração é uma funcionalidade essencial que permite aos membros da igreja solicitar oração de forma organizada e eficiente. O sistema inclui categorização, prioridades, sistema de intercessores e notificações automáticas.
Funcionalidades Principais:
- Criação de pedidos de oração
- Categorização (saúde, família, trabalho, espiritual)
- Sistema de prioridades
- Pedidos anônimos opcionais
- Sistema de intercessores
- Notificações automáticas
Benefícios:
- Organização eficiente dos pedidos
- Acompanhamento do status
- Histórico completo
- Relatórios e estatísticas
- Integração com notificações
- Interface intuitiva
Funcionalidades Detalhadas
Criação de Pedidos
Membros podem criar pedidos de oração com informações detalhadas, incluindo título, descrição, categoria e prioridade.
- • Formulário intuitivo e responsivo
- • Validação de dados em tempo real
- • Opção de pedidos anônimos
- • Controle de compartilhamento
Categorização
Sistema de categorização para organizar os pedidos de forma eficiente.
- • Saúde
- • Família
- • Trabalho
- • Espiritual
- • Outros
Sistema de Prioridades
Controle de prioridades para direcionar a atenção dos intercessores.
- • Baixa (verde)
- • Média (amarelo)
- • Alta (laranja)
- • Urgente (vermelho)
Sistema de Intercessores
Controle de intercessores que registram suas orações pelos pedidos.
- • Registro de intercessões
- • Tempo de oração
- • Tipo de oração
- • Observações
Estrutura do Banco de Dados
Tabela: pedido_oracaos
CREATE TABLE pedido_oracaos (
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
membro_id BIGINT UNSIGNED NOT NULL,
titulo VARCHAR(255) NOT NULL,
descricao TEXT NOT NULL,
categoria ENUM('saude', 'familia', 'trabalho', 'espiritual', 'outros'),
prioridade ENUM('baixa', 'media', 'alta', 'urgente'),
status ENUM('pendente', 'em_oracao', 'atendido', 'arquivado'),
data_pedido DATETIME,
data_atendimento DATETIME NULL,
observacoes TEXT NULL,
anonimo BOOLEAN DEFAULT FALSE,
pode_compartilhar BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP NULL,
updated_at TIMESTAMP NULL
);
Tabela: intercessor_oracaos
CREATE TABLE intercessor_oracaos (
id BIGINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
pedido_id BIGINT UNSIGNED NOT NULL,
user_id BIGINT UNSIGNED NOT NULL,
data_oracao DATETIME,
observacoes TEXT NULL,
tempo_oracao INT NULL,
tipo_oracao ENUM('individual', 'grupo', 'igreja'),
created_at TIMESTAMP NULL,
updated_at TIMESTAMP NULL
);
Rotas Disponíveis
Área Member (Membros)
GET /member/pedidos-oracao # Lista de pedidos
GET /member/pedidos-oracao/create # Formulário de criação
POST /member/pedidos-oracao # Salvar novo pedido
GET /member/pedidos-oracao/{pedido} # Visualizar pedido
GET /member/pedidos-oracao/{pedido}/edit # Formulário de edição
PUT /member/pedidos-oracao/{pedido} # Atualizar pedido
DELETE /member/pedidos-oracao/{pedido} # Excluir pedido
POST /member/pedidos-oracao/{pedido}/marcar-atendido # Marcar como atendido
Área Admin (Intercessores)
GET /admin/intercessor # Dashboard
GET /admin/intercessor/pedidos # Lista de pedidos
GET /admin/intercessor/pedidos/{pedido} # Visualizar pedido
POST /admin/intercessor/pedidos/{pedido}/intercessao # Registrar intercessão
PUT /admin/intercessor/pedidos/{pedido}/status # Atualizar status
GET /admin/intercessor/minhas-intercessoes # Minhas intercessões
GET /admin/intercessor/relatorios # Relatórios
Instalação
1. Executar o Comando de Setup
php artisan setup:pedidos-oracao
Este comando irá executar as migrations necessárias, criar roles e permissões, limpar cache do sistema e verificar se tudo está funcionando.
2. Configurar Usuários Intercessores
- Acesse o painel admin:
/admin
- Vá em Pessoas > Usuários
- Edite os usuários que serão intercessores
- Atribua o role "intercessor" a eles
3. Testar o Sistema
Como Membro:
- Acesse:
/member/pedidos-oracao
- Clique em "Novo Pedido de Oração"
- Preencha o formulário
- Envie o pedido
Como Intercessor:
- Acesse:
/admin/intercessor
- Veja os pedidos pendentes
- Clique em um pedido para visualizar
- Registre uma intercessão
Modelos e Relacionamentos
PedidoOracao Model
class PedidoOracao extends Model
{
protected $fillable = [
'membro_id',
'titulo',
'descricao',
'categoria',
'prioridade',
'status',
'data_pedido',
'data_atendimento',
'observacoes',
'anonimo',
'pode_compartilhar'
];
public function membro(): BelongsTo
{
return $this->belongsTo(Membro::class);
}
public function intercessores(): HasMany
{
return $this->hasMany(Intercessao::class, 'pedido_id');
}
}
Intercessao Model
class Intercessao extends Model
{
protected $fillable = [
'pedido_id',
'user_id',
'data_oracao',
'observacoes',
'tempo_oracao',
'tipo_oracao'
];
public function pedido(): BelongsTo
{
return $this->belongsTo(PedidoOracao::class);
}
public function user(): BelongsTo
{
return $this->belongsTo(User::class);
}
}
Controladores
PedidoOracaoController
Controlador principal para gerenciar pedidos de oração na área de membros.
class PedidoOracaoController extends Controller
{
public function index() // Listar pedidos
public function create() // Formulário de criação
public function store() // Salvar novo pedido
public function show() // Visualizar pedido
public function edit() // Formulário de edição
public function update() // Atualizar pedido
public function destroy() // Excluir pedido
public function marcarAtendido() // Marcar como atendido
public function participarIntercessao() // Participar da intercessão
}
IntercessorController
Controlador para gerenciar intercessões na área administrativa.
class IntercessorController extends Controller
{
public function index() // Dashboard
public function pedidos() // Lista de pedidos
public function show() // Visualizar pedido
public function registrarIntercessao() // Registrar intercessão
public function minhasIntercessoes() // Minhas intercessões
public function relatorios() // Relatórios
}
Views e Interface
Área Member
- •
member/pedidos-oracao/index.blade.php
- •
member/pedidos-oracao/create.blade.php
- •
member/pedidos-oracao/show.blade.php
- •
member/pedidos-oracao/edit.blade.php
Área Admin
- •
admin/intercessor/dashboard.blade.php
- •
admin/intercessor/pedidos.blade.php
- •
admin/intercessor/show.blade.php
- •
admin/intercessor/relatorios.blade.php
Permissões e Roles
Role: intercessor
// Permissões do intercessor
'intercessor.access' // Acesso ao sistema de intercessão
'intercessor.view_pedidos' // Visualizar pedidos
'intercessor.registrar_intercessao' // Registrar intercessão
'intercessor.view_relatorios' // Visualizar relatórios
'intercessor.manage_status' // Gerenciar status dos pedidos
Permissões de Membros
// Permissões de membros
'pedidos-oracao.create' // Criar pedidos
'pedidos-oracao.view_own' // Visualizar próprios pedidos
'pedidos-oracao.edit_own' // Editar próprios pedidos
'pedidos-oracao.delete_own' // Excluir próprios pedidos
'pedidos-oracao.participate' // Participar de intercessões
Sistema de Notificações
O sistema integra automaticamente com o sistema de notificações para manter todos informados sobre novos pedidos e atualizações.
Notificações Automáticas:
- • Novo pedido de oração criado
- • Pedido marcado como atendido
- • Nova intercessão registrada
- • Pedido com prioridade urgente
Tipos de Notificação:
- • Email (se configurado)
- • Notificação interna
- • Push notification
- • SMS (futuro)
Relatórios e Estatísticas
Relatórios Disponíveis:
- • Pedidos por categoria
- • Pedidos por prioridade
- • Pedidos por status
- • Intercessões por período
- • Tempo médio de atendimento
- • Intercessores mais ativos
Estatísticas:
- • Total de pedidos
- • Pedidos pendentes
- • Pedidos atendidos
- • Total de intercessões
- • Tempo total de oração
- • Membros mais ativos