diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..2d1d65a --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# 🚀 Guia de Desenvolvimento - Sistema de Controle de Faltas + +Bem-vindos à equipe! Este projeto une nossas duas turmas em uma simulação real de mercado. Como desenvolvedores, vocês serão responsáveis por construir uma ferramenta robusta utilizando **PHP Orientado a Objetos** e **Bootstrap**. + +Para que nossa colaboração funcione e o sistema rode perfeitamente no **EasyPanel**, todos devemos seguir este manual. + +--- + +## 🌳 1. Nossas Branches (Onde o código mora) + +Para manter a organização, o repositório é dividido em níveis de segurança: + +* **`main` (Produção):** É o código que o cliente vê. **Ninguém** faz commit direto aqui. Apenas o Gerente move o código para cá quando tudo está testado. +* **`develop` (Integração):** É onde o trabalho de todos se encontra. Vocês abrirão seus pedidos de união (Pull Requests) para esta branch. +* **`feature/seu-nome-tarefa` (Criação):** Toda nova tarefa deve ser feita em uma branch própria criada a partir da `develop`. + +--- + +## 💬 2. Padrão de Commits (Como você comunica seu progresso) + +Mensagens de commit ruins como "ajuste" ou "testando" não serão aceitas. Usaremos o padrão **Conventional Commits**. Escreva sempre no **imperativo** (ex: "Adiciona", e não "Adicionei"). + +### Tipos que vocês mais usarão: +| Tipo | Quando usar? | Exemplo | +| :--- | :--- | :--- | +| **`feat`** | Quando você cria algo novo. | `feat: adiciona o formulário de login` | +| **`fix`** | Quando você resolve um erro. | `fix: corrige erro de conexão com o banco` | +| **`docs`** | Quando você altera apenas o README ou manuais. | `docs: detalha o funcionamento do banco` | +| **`style`** | Alteração visual com Bootstrap (CSS/Layout). | `style: centraliza os botões do dashboard` | +| **`refactor`** | Quando você melhora um código PHP sem mudar o que ele faz. | `refactor: simplifica o método de busca` | + +--- + +## 🛠 3. O Fluxo de Trabalho (Passo a Passo) + +Sempre que você for começar uma tarefa, siga estes passos: + +1. **Atualize seu computador:** + ```bash + git checkout develop + git pull origin develop + ``` +2. **Crie sua branch de trabalho:** + ```bash + git checkout -b feature/nome-da-sua-tarefa + ``` +3. **Trabalhe no código:** + Faça commits pequenos e frequentes seguindo os padrões acima. +4. **Suba para o Gitea:** + ```bash + git push origin feature/nome-da-sua-tarefa + ``` +5. **Peça a Revisão (Pull Request):** + No Gitea, abra um Pull Request para a branch `develop`. **Eu (Gerente)** revisarei seu código e, se estiver tudo certo, farei a aprovação. + +--- + +## 📂 4. Arquitetura do Projeto (PHP OOP) + +Não utilizaremos frameworks, por isso a organização das pastas é vital para o funcionamento do nosso container Docker: + +* **`/config`**: Arquivos de conexão e variáveis de ambiente. +* **`/public`**: É a única pasta visível para o navegador. Contém o `index.php` e arquivos CSS/JS. +* **`/src/Controller`**: Onde ficará a lógica que decide o que mostrar. +* **`/src/Model`**: Onde as classes PHP conversam com o Banco de Dados (Use PDO!). +* **`/src/View`**: Onde o HTML com Bootstrap será escrito. + +--- + +## ⚠️ 5. Regras de Ouro +* **Segurança:** Nunca coloque senhas no código. Se precisar de uma credencial, peça ao Gerente para configurar no EasyPanel. +* **Qualidade:** Antes de abrir um Pull Request, verifique se não esqueceu nenhum `var_dump` ou comentário desnecessário. +* **Colaboração:** Ajude seus colegas. Se o código dele estiver difícil de entender, comente no Pull Request! + +--- +**Bom trabalho a todos! Vamos construir um sistema incrível.** \ No newline at end of file