|
| [Home](home) | [Escopo](escopo) | [Gerência](gerência) | [Processo](processo) | [Mockups](mockups) | [Configuração](configuração) | [Arquitetura](arquitetura) | [DataBase](database) |[Infraestrutura](infraestrutura) |
|
|
| [Home](home) | [Escopo](escopo) | [Gerência](gerência) | [Processo](processo) | [Mockups](mockups) | [Configuração](configuração) | [Arquitetura](arquitetura) | [DataBase](database) |[Infraestrutura](infraestrutura) |
|
|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|
|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|
|
|
|
|
|
# Arquitetura e Métodos Utilizados
|
|
# Arquitetura do Sistema
|
|
## GitFlow
|
|
|
|
|
|
|
|
### **O que é?**
|
|
|
|
|
|
|
|
GitFlow é o processo de contribuição para os projetos que fazem uso da ferramenta Git. As definições presentes neste documento se aplicam tanto para o repositório de frontend quando para o repositório de backend.
|
|
|
|
|
|
|
|
## Branches protegidas:
|
|
|
|
|
|
|
|
As branches "main" e "develop" não devem ser apagadas e possuem regras de proteção específicas para garantir que apenas usuários com papéis específicos possam realizar certas alterações:
|
|
|
|
|
|
|
|
#### main
|
|
|
|
|
|
|
|
É a branch principal do projeto. Esta branch deve sempre conter o código rodando no ambiente de produção, sem bugs. A branch é protegida e só pode ser alterada a partir de Merge Requests (MRs) vindo diretamente da branch **develop**. Apenas AGES III e IV podem realizar o merge dos MRs e realizar alterações nessa branch.
|
|
|
|
|
|
|
|
#### develop
|
|
|
|
|
|
|
|
É a branch para desenvolvimento, onde o código é continuamente atualizado e onde são realizados todos os MRs. Esta deve ser a branch de partida de todas as outras branches do projeto. Essa branch é protegida, o que significa que as alterações só podem ser feitas através de Merge Requests. Qualquer usuário com acesso ao projeto pode criar um MR para esta branch.
|
|
|
|
|
|
|
|
|
|
|
|
## Branches não protegidas (feature/fix/update):
|
|
|
|
|
|
|
|
**Feature:** branches para implementação de funcionalidades novas.
|
|
|
|
|
|
|
|
**Fix:** branches para correção de bugs.
|
|
|
|
|
|
|
|
**Update:** branches para atualizações.
|
|
|
|
|
|
|
|
Todos os MRs dessas branches devem sempre ser abertos para **develop**.
|
|
|
|
|
|
|
|
|
|
|
|
## Nomenclatura padrão para criação de branches:
|
|
|
|
|
|
|
|
tipo_da_branch/numero_da_us/o_que_sera_feito
|
|
|
|
|
|
|
|
exemplo: feat/us1/botao-login
|
|
|
|
|
|
|
|
|
|
|
|
## Como posso criar uma branch?
|
|
|
|
|
|
|
|
Para garantir que o processo de desenvolvimento esteja sempre atualizado, lembre-se de executar o seguinte comando na branch develop antes de criar uma branch nova:
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
git pull origin dev
|
|
|
|
```
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
Este comando garante que você esteja trabalhando com a versão mais atualizada do projeto. Depois, para criar a nova Branch na qual você realizará sua tarefa, execute o comando:
|
|
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
git checkout -b feature/<nomeDaBranch>
|
|
|
|
```
|
|
|
|
</div>
|
|
|
|
|
|
|
|
Após a criação da branch, é necessário usar o comando \`push\` para publicar sua branch:
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
git push --set-upstream origin feature/<nomeDaBranch>
|
|
|
|
```
|
|
|
|
</div>
|
|
|
|
|
|
|
|
Pronto! Agora você já pode começar a programar na sua Branch.
|
|
|
|
|
|
|
|
### Commits
|
|
|
|
|
|
|
|
Para garantir que o commit a ser realizado terá apenas o código necessário para funcionamento da tarefa, use o comando `add` apenas nos arquivos **essenciais** para a tarefa:
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
git add <nomeDoArquivo>
|
|
|
|
```
|
|
|
|
</div>
|
|
|
|
|
|
|
|
Depois de adicionar todos os arquivos que deseja commitar, execute o commando de commit com uma mensagem curta que represente o que foi trabalhado nesses arquivos adicionados:
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
git commit -m 'descrição da tarefa'
|
|
|
|
```
|
|
|
|
<div>
|
|
|
|
|
|
|
|
Depois de finalizar o desenvolvimento, envie todos os commits da sua máquina para o servidor remoto. Para isso, use o comando `push`:
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
|
|
|
```plaintext
|
|
|
|
git push
|
|
|
|
```
|
|
|
|
<div>
|
|
|
|
|
|
|
|
|
|
|
|
O padrão das mensagens de commit devem seguir o padrão especificado abaixo:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Diagrama de Deploy
|
|
# Diagrama de Deploy
|
|
|
|
|
... | | ... | |