
# Índice
- [Sobre](#🔖-Sobre)
- [Tecnologias utilizadas](#🛠-Tecnologias-utilizadas)
- [Instalação para desenvolvimento](#🗂-Instalação-para-desenvolvimento)
- [Arquitetura](#🏢-Arquitetura)
- [Melhorias técnicas](#🚧-Melhorias-técnicas)
- [Processo de release ](#🚀-Processo-de-release)
## 🔖 Sobre
É uma ferramenta de vendas e gerenciamento do recebimento das comissões.
Trata-se de um espaço virtual repleto de ferramentas para que o Agente gerencie suas vendas, integrando logísticas necessárias ao bom desenvolvimento das atividades comerciais, tais como: instruções, aulas com técnicas de vendas, emissão de notas fiscais, administração de finanças e relatórios e etc.
Na WSP todas as informações ficam armazenadas de maneira virtual, o que possibilita o acesso ao sistema de vendas a qualquer hora e em qualquer lugar.
---
## 🛠 Tecnologias utilizadas
O projeto foi desenvolvido utilizando as seguintes tecnologias
- [React](https://reactjs.org)
- [TypeScript](https://www.typescriptlang.org/)
- [Redux-Saga](https://redux-saga.js.org/)
- [React Testing Library](https://testing-library.com/docs/react-testing-library/intro)
- [Styled Components](https://www.styled-components.com/)
- [Next.js](https://nextjs.org/)
- [Storybook](https://storybook.js.org/)
- [ESLint](https://eslint.org/)
- [Axios](https://github.com/axios/axios)
---
## 🗂 Instalação para desenvolvimento
```bash
# Instalar as dependências
$ yarn install
# Iniciar o projeto
$ yarn dev
# Iniciar o storybook
$ yarn storybook
# Execução dos testes
$ yarn test
```
---
## 🏢 Arquitetura
[Click aqui para mais informações sobre o fluxograma](https://whimsical.com/arquitetura-4KahLhxTKxccKXbC8VBkWh)

---
## 🚧 Melhorias técnicas
- [ ] Alinhar e definir o que é uma entrega com qualidade (funcional, usar padrões de código, implementar testes automatizados)
- [ ] Criar um style guide de melhores práticas
- [ ] Criar arquitetura de repositórios
- [ ] Atualização das documentações que existem
- [ ] Remover códigos desnecessários da v1 no projeto
- [ ] Atualização do storybook
- [ ] Aplicar atomic design nos componentes
- [ ] Realizar code review mais detalhado
- [ ] Usar o husky para automatização
---
## 🚀 Processo de release
[Click aqui para mais informações sobre o fluxograma]( https://whimsical.com/gitflow-8khVuWmXuqM9gDhfSeFQiw)

- Primeiro passo, fazer o merge da branch das alterações (feature) para a branch temp, executar o pipeline da temp com todo o código já disponível para testes .
- Abrir uma Pull Request (PR) à partir da branch das alterações (feature) para staging, para a realização do code review.
- Após a realização do code review e a aprovação do QCA, é realizado o merge da feature para staging.
- Criar uma branch de release à partir da staging `release/v[major.minor.patch]`(seguir a numeração do changelog), adicionar as alterações realizadas no changelog.
- Mandar um PR da release para a master, lembrando de excluir branchs que não forem mais usadas.
Obs: Sempre lembrar de sincronizar as branchs antes de qualquer procedimento.
---
Feito com ❤️ pelo time WSP 👋🏽