Skip to content

Commit

Permalink
Add docs with dev flow and technical decisions (secultce#34)
Browse files Browse the repository at this point in the history
  • Loading branch information
alessandrofeitoza authored Aug 25, 2024
1 parent ef5e9ec commit 60ef216
Show file tree
Hide file tree
Showing 7 changed files with 586 additions and 6 deletions.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
blank_issues_enabled: false
27 changes: 27 additions & 0 deletions .github/ISSUE_TEMPLATE/feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# **Titulo da Issue**

## **WHAT**
<!-- Descreva em detalhes o que a issue precisa que seja feito -->


---

## **WHY**
<!-- Descreva a importância disso para o projeto -->


---

## **ADDITIONAL INFO**
<!-- Adicione aqui links e/ou imagens que possam ajudar quem for desenvolver a issue -->


---

## **CHECKLIST**
<!-- Descreva aqui caso a issue necessite que as coisas sejam feitas em partes -->

- [ ] item 1
- [ ] item 2

---
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
---
name: Feature request
about: Titulo da Issue
title: ''
labels: ''
assignees: ''

---

# **Titulo da Issue**

## **WHAT**
<!-- Descreva em detalhes o que a issue precisa que seja feito -->


---

## **WHY**
<!-- Descreva a importância disso para o projeto -->


---

## **ADDITIONAL INFO**
<!-- Adicione aqui links e/ou imagens que possam ajudar quem for desenvolver a issue -->


---

## **CHECKLIST**
<!-- Descreva aqui caso a issue necessite que as coisas sejam feitas em partes -->

- [ ] item 1
- [ ] item 2

---
53 changes: 47 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,13 @@ A configuração já está dockerizada, então você só precisa ter o Docker Co

- **PHP** 8.3
- **PostgreSQL** 13
- **MongoDB**
- **Nginx**
- **Symfony** 7

## Começando
## Instalação
<details>
<summary>Passo a passo</summary>

### Clonar o Repositório

Expand All @@ -38,22 +41,60 @@ Execute o Docker Compose para iniciar os contêineres:
docker-compose up -d
```

## Instalação

### Entrar no Contêiner PHP
### Instalar Dependências
Para instalar as dependências do projeto, entre no contêiner PHP:
```bash
docker-compose exec -it mapinha-php bash
```

### Instalar Dependências
Dentro do contêiner, execute:
```bash
composer install
```

## Uso
### Uso

Depois que tudo estiver configurado e as dependências instaladas, você pode acessar sua aplicação Symfony em [http://localhost:8080](http://localhost:8080).

Também criei uma rota de teste. Você pode acessá-la em [http://localhost:8080/hello](http://localhost:8080/hello). Esta rota está definida no controller `HelloWorldController` e retorna a mensagem "Bem vind@ ao Mapas Culturais CE".

</details>


## Desenvolvimento
<details>
<summary>Arquitetura e Decisões técnicas</summary>

Estamos utilizando o Symfony e o seu ecossistma de bibliotecas, porém a arquitetura é baseada em camadas e trata-se de um monolítico com a metodologia API First

```mermaid
flowchart TD
HC((HttpClient)) --JsonRequest<--> R[Routes]
B((Browser)) --GET/POST--> Routes
R --> CA[[ControllerApi]]
Routes --> CW[[ControllerWeb]]
CA <--> S[Service]
CW <--> S
S <--> RP[Repository]
RP <==> D[(Database)]
CA --JsonResponse--> HC
CW --HTML/CSS/JS--> B
```

Para saber mais sobre nossas decisões técnicas [acesse aqui](./help/README.md)
</details>

## Design UI/UX
<details>
<summary>Informações importantes</summary>

### Prototipação das telas
A prototipagem das telas é feita por outro time, do RedeMapas, e se encontra [neste link do Figma](https://www.figma.com/design/HkR1qdfHPn4riffcBBOQwR/Prot%C3%B3tipos-%7C-Prioriza%C3%A7%C3%B5es?node-id=0-1&t=n23kLvhTSbEMELhz-0)

### Componentes web
Há um fork do Bootstrap (framework css) com a implementação dos protótipos acima, se encontra [neste repositório](https://github.com/secultce/mapaculturaldesign)

### Decisões de Design
Alguns protótipos implementados não estão seguindo a risca o design sugerido, por decisões totalmente técnicas que estão [documentadas aqui](https://github.com/secultce/mapaculturaldesign/blob/main/help/design-decisions.md)
</details>

21 changes: 21 additions & 0 deletions help/CREATE-ISSUES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Como contribuir criando issues

## Instruções para criar uma nova issue

1 - Navegue até a aba de issues:

Você pode acessar diretamente por aqui https://github.com/secultce/mapinha/issues

2 - Escolha o tipo de issue

Clique em `New Issue` e logo após escolha o tipo de issue:
- Feature Request
- Bug Report

3 - Preencha a descrição

Adicione o máximo de informações possíveis, seguindo o template que foi carregado no formulário de criação.

> Lembre-se que provavelmente outra pessoa é quem implementará a mudança, então, tal pessoa precisará do máximo de informações possíveis.
>
> Mesmo que seja você quem for implementar, ainda assim o máximo de detalhes é importante para fins de documentação e auditoria.
46 changes: 46 additions & 0 deletions help/CREATE-PULL-REQUESTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Pull Requests

1 - Escolha uma issue

Acesse <https://github.com/secultce/mapinha/issues> e escolha em qual issue quer trabalhar

2 - Atualize o seu branch principal (develop)

Para isso você já deve ter uma instalação local desse repositório.

Caso não possua uma instalação, [veja aqui como instalar](./../README.md)

Agora, dentro do diretório atualize seu branch:
````shell
git pull origin develop
````

3 - Crie um branch para a resolução da issue

```shell
git checkout -b feat/resolve-tal-coisa
```

4 - Faça os códigos da implementação

Siga as regras da [PSR-12](https://www.php-fig.org/psr/psr-12/), bem como, boas práticas de programação PHP:
- Kiss
- Dry
- Clean Code
- Design Patterns
- etc

5 - Execute os testes e o CS-FIXER

Você precisa criar testes que garantam a sua implementação
Para garantir que você não quebrou nada, e que o código está de acordo com as regras da aplicação, execute os comandos de STYLE CODE e TESTS que se encontra [nessa seção da documentação](../app/README.md#console-commands)

6 - Faça o commit

A regra, para melhor organização do repositório, é apenas 1 (um) commit por Pull Request

7 - Abra o pull request

Abra o pull request para o projeto `secultce/mapinha` e na descrição do PR informe se há algo a ser levado em consideração, bem como, especifique qual issue aquele pull request está atrelado.

> Pronto, agora é só esperar o seu PR passar pelas validações de testes e code style, e depois ter 2 approves
Loading

0 comments on commit 60ef216

Please sign in to comment.