MaestroTech é um sistema avançado de gerenciamento e sorteio de músicas para igrejas, projetado para facilitar a organização dos louvores nos cultos. Utilizando uma abordagem de Clean Architecture e tecnologias modernas, o MaestroTech oferece uma solução robusta e escalável para gerenciar músicas, cultos e preferências de dias.
- Descrição: Funcionalidade para cadastrar novas igrejas, permitindo que cada igreja tenha seu próprio banco de dados e usuários.
- Critérios de Aceitação:
- Campos: Nome, Endereço, Dias de Culto.
- Acesso restrito a administradores.
- Descrição: Funcionalidade para cadastrar e gerenciar usuários do sistema.
- Critérios de Aceitação:
- Campos: Nome, Email, Senha, Perfil (Administrador, Usuário).
- Autenticação e autorização.
- Descrição: Funcionalidade para adicionar, editar, visualizar e excluir músicas.
- Critérios de Aceitação:
- Campos: Nome, Link para Spotify, Link para YouTube, Notas, Cantores, Dia de Preferência.
- Descrição: Funcionalidade para configurar os dias de culto para sorteio de músicas.
- Critérios de Aceitação:
- Configuração por igreja.
- Dias da semana personalizáveis.
- Descrição: Funcionalidade para realizar o sorteio de músicas para os cultos, respeitando as preferências de dia.
- Critérios de Aceitação:
- Sorteio aleatório com base nas preferências.
- Funcionalidade para sorteios de sexta-feira, domingo e um sábado por mês.
- Descrição: Funcionalidade para enviar automaticamente os resultados do sorteio para grupos do WhatsApp.
- Critérios de Aceitação:
- Integração com API do WhatsApp (ou outra solução de envio).
- Configuração por igreja.
O MaestroTech segue os princípios da Clean Architecture, garantindo um código organizado, de fácil manutenção e escalável. As camadas principais são:
- Domain: Entidades e regras de negócio.
- Application: Casos de uso.
- Infrastructure: Acesso a dados e outras implementações técnicas.
- API: Interface de usuário (API).
- Backend: C# com ASP.NET Core
- Frontend: A ser definido (Angular, React, ou outra tecnologia adequada)
- Banco de Dados: SQL Server
- Definiremos sprints de 2 semanas para entregas incrementais.
- Criação de um backlog de tarefas.
- Issues no GitHub para gerenciar as tarefas.
- Reuniões diárias para acompanhamento.
- Ao final de cada sprint, revisaremos o progresso e ajustaremos o planejamento conforme necessário.
- User Story 1: Como administrador, quero cadastrar uma nova igreja para gerenciar suas músicas e cultos.
- User Story 2: Como administrador, quero editar os dados de uma igreja para manter as informações atualizadas.
- User Story 3: Como administrador, quero configurar os dias de cultos para sorteio de músicas.
- User Story 1: Como administrador, quero cadastrar novos usuários para que possam acessar o sistema.
- User Story 2: Como administrador, quero editar os dados dos usuários para manter as informações atualizadas.
- User Story 3: Como usuário, quero fazer login no sistema para acessar minhas funcionalidades.
- User Story 1: Como usuário, quero cadastrar uma nova música com informações detalhadas.
- User Story 2: Como usuário, quero editar as informações de uma música existente.
- User Story 3: Como usuário, quero excluir uma música que não será mais utilizada.
- User Story 1: Como administrador, quero sortear músicas para os cultos de sexta-feira.
- User Story 2: Como administrador, quero sortear músicas para os cultos de domingo.
- User Story 3: Como administrador, quero sortear músicas para o culto de sábado (uma vez por mês).
- User Story 4: Como administrador, quero que o sistema respeite as preferências de dia na escolha das músicas.
- User Story 1: Como administrador, quero enviar a lista de músicas sorteadas para o grupo do WhatsApp da igreja.
- Configuração do ambiente de desenvolvimento.
- Criação da estrutura base do projeto seguindo a Clean Architecture.
- Implementação do cadastro e gerenciamento de igrejas.
- Implementação do cadastro e gerenciamento de usuários.
- Implementação de autenticação e autorização.
- Implementação do cadastro, edição e exclusão de músicas.
- Criação de endpoints de API para gerenciamento de músicas.
- Implementação da lógica de sorteio de músicas.
- Configuração de dias de cultos para sorteio.
- Implementação do envio de resultados para WhatsApp.
- Integração com API do WhatsApp (ou outra solução de envio).
- Testes de integração e aceitação.
- Ajustes e correções finais.
- Documentação do projeto.
- Use as issues para reportar bugs, sugerir novas funcionalidades ou discutir melhorias.
- Utilize labels para categorizar as issues (ex: enhancement, bug, documentation).
- Fork o repositório e crie um branch para a sua feature ou correção.
- Envie um pull request com uma descrição detalhada das mudanças.
- Colabore com a documentação do projeto através da wiki ou editando o
PLANNING.md
. - Adicione sugestões de funcionalidades na seção abaixo.
(Adicione sugestões aqui)
MaestroTech - Harmonizando tecnologia e louvor 🎶💻