Como Contribuir
Bem-vinde à documentação de desenvolvimento do Sistema Divino Alimento! Esta seção é dedicada a pessoas desenvolvedoras que desejam contribuir com o projeto.
Sobre Esta Versão
Esta documentação refere-se à versão Mercados do Divino Alimento, atualmente em desenvolvimento ativo. Esta versão expande as funcionalidades da versão Cestas, adicionando:
- Gestão de múltiplos mercados locais
- Interface moderna com React e shadcn/ui
- Sistema de pré-mercado para planejamento de demanda
- Administração por mercado com perfis específicos
- Melhorias na experiência do usuário
Visão Geral
O Divino Alimento é um projeto de software livre e código aberto sob licença MIT. Contribuições são muito bem-vindas e incentivadas. Esta documentação fornecerá todas as informações necessárias para você começar a contribuir com o desenvolvimento.
O Que Você Encontrará Aqui
Nesta seção você encontrará:
- Guia de Configuração do Ambiente - Como preparar seu ambiente de desenvolvimento local
- Arquitetura do Sistema - Entenda como o sistema está estruturado tecnicamente
- Padrões de Código - Convenções e boas práticas do projeto
- API e Recursos - Documentação técnica detalhada para desenvolvedores
Tipos de Contribuição
Existem várias formas de contribuir com o projeto:
Código
- Implementar novas funcionalidades
- Corrigir bugs reportados
- Melhorar performance
- Refatorar código legado
- Adicionar testes automatizados
Documentação
- Melhorar documentação existente
- Criar tutoriais e guias
- Traduzir documentação
- Documentar APIs e funções
- Criar diagramas e fluxogramas
Design e UX
- Melhorar interfaces de usuário
- Criar componentes reutilizáveis
- Propor melhorias de usabilidade
- Testar acessibilidade
- Criar protótipos
Testes e QA
- Reportar bugs com detalhes
- Testar novas funcionalidades
- Escrever testes automatizados
- Validar correções
Comunidade
- Responder dúvidas de outros usuários
- Compartilhar casos de uso
- Organizar eventos e workshops
- Divulgar o projeto
Pré-requisitos
Conhecimentos Técnicos
Para contribuir com desenvolvimento, você precisará de conhecimentos em:
Backend
- Node.js e Express.js
- JavaScript/ES6+
- PostgreSQL e Sequelize ORM
- APIs RESTful
- Autenticação OAuth 2.0
Frontend (Versão Mercados)
- React e TypeScript
- Next.js (App Router)
- shadcn/ui e Tailwind CSS
- React Hook Form e Zod
- Gerenciamento de estado
DevOps e Ferramentas
- Docker e Docker Compose
- Git e GitHub
- npm/yarn (gerenciamento de pacotes)
- Sequelize CLI (migrações)
Ferramentas Necessárias
Antes de começar, certifique-se de ter instalado:
- Node.js 18.x ou superior
- Docker e Docker Compose
- Git
- Editor de código (recomendamos VS Code)
- Cliente PostgreSQL (opcional, para inspeção do banco)
Como Começar
1. Prepare-se
- Leia o README principal do projeto
- Familiarize-se com a Arquitetura do Sistema
- Entenda os Casos de Uso principais
2. Configure o Ambiente
- Entre em contato com a equipe Tekoporã pelo email info@tekopora.top
- Siga o Guia de Configuração completo
- Verifique se tudo está funcionando corretamente
3. Desenvolva
- Faça commits pequenos e frequentes com mensagens claras
- Siga os padrões de código do projeto
- Documente seu código quando necessário
4. Teste
- Execute os testes existentes:
npm test - Adicione testes para sua nova funcionalidade
- Teste manualmente no navegador
- Verifique se não quebrou funcionalidades existentes
5. Documente
- Atualize a documentação se necessário
- Adicione comentários em código complexo
- Documente novas APIs ou endpoints
Padrões de Commits
Use mensagens de commit claras seguindo o padrão:
tipo(escopo): descrição curta
Descrição mais detalhada do que foi feito e por quê.
Tipos válidos:
feat: Nova funcionalidadefix: Correção de bugdocs: Alterações na documentaçãostyle: Formatação, espaçamento (sem mudança de lógica)refactor: Refatoração de código (sem adicionar features ou corrigir bugs)test: Adição ou correção de testeschore: Tarefas de manutenção (build, dependências, etc)
Exemplos:
feat(mercado): adicionar filtro por status na listagem de mercados
Implementa filtro para listar mercados por status (ativo/inativo).
Adiciona dropdown no componente MercadosList.
fix(auth): corrigir redirecionamento após login OAuth
O callback do Google OAuth não estava redirecionando corretamente
para a página de destino. Ajustado middleware de autenticação.
Código de Conduta
Ao contribuir, você concorda em seguir nosso código de conduta:
Nossos Valores
- Respeito: Trate todas as pessoas com respeito e empatia
- Inclusão: Valorizamos diversidade e diferentes perspectivas
- Colaboração: Trabalhamos juntos para objetivos comuns
- Transparência: Comunicação aberta e honesta
- Aprendizado: Todos estão aqui para aprender e crescer
Comportamento Esperado
- Use linguagem acolhedora e inclusiva
- Respeite diferentes pontos de vista e experiências
- Aceite críticas construtivas com graça
- Foque no que é melhor para a comunidade
- Mostre empatia com outros membros da comunidade
Comportamento Inaceitável
- Linguagem ou imagens sexualizadas, assédio
- Trolling, comentários insultuosos ou depreciativos
- Assédio público ou privado
- Publicar informações privadas de outras pessoas
- Conduta que poderia ser considerada inapropriada em ambiente profissional
Comunicação
Reportar Bugs
Encontrou um bug? Entre em contato com a equipe informando:
- Título descritivo do problema
- Passos para reproduzir o erro
- Comportamento esperado vs comportamento atual
- Screenshots ou logs se possível
- Ambiente: versão do Node, navegador, SO
Sugerir Funcionalidades
Tem uma ideia? Entre em contato com a equipe:
- Descreva a funcionalidade proposta
- Explique o problema que ela resolve
- Sugira como poderia ser implementada
- Adicione mockups ou esboços se possível
Canais de Comunicação
- Email: info@tekopora.top (equipe Tekoporã)
- Documentação: Para questões sobre uso do sistema
Precisa de Ajuda?
Se você tiver dúvidas ou precisar de orientação:
- Consulte a documentação completa
- Entre em contato com a equipe Tekoporã pelo email info@tekopora.top
Reconhecimento
Todas as contribuições são valorizadas e reconhecidas:
- Seu nome será adicionado à lista de contribuidores
- Contribuições significativas serão destacadas
- Você estará ajudando comunidades a ter acesso a um sistema alimentar mais justo
Licença
Ao contribuir, você concorda que suas contribuições serão licenciadas sob a mesma licença MIT do projeto.
Agradecemos imensamente por contribuir com o Divino Alimento! Juntos estamos construindo um sistema alimentar mais justo, solidário e sustentável para comunidades do Brasil e do mundo.