An open API service indexing awesome lists of open source software.

https://github.com/digoarthur/filepattern-react

Organize seus projetos React de forma profissional e limpa. Repositório com os conceitos de pastas e modelo de estrutura para aplicações React.
https://github.com/digoarthur/filepattern-react

Last synced: 6 months ago
JSON representation

Organize seus projetos React de forma profissional e limpa. Repositório com os conceitos de pastas e modelo de estrutura para aplicações React.

Awesome Lists containing this project

README

          



Projeto modelo com estruturas de pastas - REACT




ReactJS
ViteJS
NextJS








bashftreactgit


Organize seus projetos React de forma profissional e clara

----







Sobre a aplicação   |   
Pastas   |   
Estruturas   |   
Extensão VSCODE   |   
Clonar Projeto   |   
Por que?   |   


![GitHub last commit](https://img.shields.io/github/last-commit/digoarthur/filePattern-React)
![GitHub](https://img.shields.io/github/license/digoarthur/filePattern-React)






# skills Sobre a aplicação
---
> Aqui está sendo apresentado os tipos de pastas que são usadas no React e um exemplo de estrutura.
> ATENÇÃO: a melhor estrutura é aquela que você e sua equipe conseguem trabalhar em harmonia. Então não há uma regra, a regra é feita internamente e seguida por todos para que haja o desenvolvimento.

---





# Pastas

- `api`: diretório que contém todos os serviços que cuidam da comunicação entre o React (frontend) e a API (backend)
- `services`: Aqui ficam as configurações de HTTP clientes, normalmente utilizando axios.
- `auth`: aqui é feita todo o processo de autenticação. Caso a sua aplicação tenha um sistema de Login, terá que ser construído todo um contexto, todo um estado Global para que tenha, cuidadosamente, controle como por exemplo: autorização de acesso a recursos da aplicação.

`assets`: serve para armazenar imagens, ícones, audios, videos.

`componentes`: componentes reutilizáveis da aplicação. Componentes que são unidades para sua aplicação, um button, um dropdown, um modal, um input etc.

- `pages`: as pages são as páginas que usam vários componentes. É essa a página que o usuário vai ver.

- `test`: aqui fica toda a estrutura para testes. É conveniente colocar junto aos arquivos de cada página para que corresponda aos mesmos.
- `storybook`: pasta onde fica o arquivo da ferramenta storybook que é usada como playground para componentes de UI. Ele permite que nós, desenvolvedores, criemos e testemos componentes isoladamente. Ele também é executado fora do aplicativo, portanto, as dependências do projeto não afetarão o comportamento dos componentes.

`store`: este diretório inclui todos os estados globais do React que podem ser acessados a partir de qualquer componente do aplicativo. Podem ser usados state managers, context api, zustand, redux.

`types`: armazena as tipagens de typescript (types e interfaces) que são comuns em várias áreas do projeto.

- `util`: funções utilitárias como formatCurrency, formatPhone, convertTimezone, parsePhone (javascript puro).
- `hooks`: essa pasta é utilizada para armazenar hooks que são genéricos, têm interação com hooks do React (useState, useEffect) e normalmente reutilizáveis e qualquer projeto, exemplos: useScreenSize, useLocalStorage, useSessionStorage, useUserActive.
- `providers`: essa pasta é utilizada para os arquivos ligado ao recurso Provider do React. Estabelecendo uma hierarquia global de compartilhamento de informações na aplicação.

`validations`: são feitas as validações de formulários. Podem ser criado Schemas para a análise de regras. Pode-se utilizar a biblioteca Formic, por exemplo.

# Estrutura

react-project
├── src
└── `api`
│ ├── `auth`
│ ├── `services`

└── `assets`
│ ├── `audios`
│ ├── `imagens`
│ └── `videos`
└── `components`
│ ├── Card.js
│ ├── Create.js
│ └── List.js
└── `pages`
│ └── AboutUs
│ ├── `storybook`
│ ├── `teste`
│ ├── About-Us.css
│ └── About-Us.tsx
└── `store`
│ ├── language.js
│ ├── user.js

└── `types`
├── user.ts

└── `utils`
│ ├── `hooks`
│ │ ├── useChat.js
│ │ ├── useOutsideAlerter.js
│ │ ├── useToast.js
│ ├── `providers`
│ ├── HomeContextProvider.js
│ ├── ToastContextProvider.js

└── `validations`
├── `forms.js`

# Extensão VSCODE para visual das pastas

1. [Material Icon Theme](https://marketplace.visualstudio.com/items?itemName=PKief.material-icon-theme)
2. [vscode-icons](https://marketplace.visualstudio.com/items?itemName=vscode-icons-team.vscode-icons)
3. [Monokai Pro](https://marketplace.visualstudio.com/items?itemName=monokai.theme-monokai-pro-vscode)
4. [Material Theme Icons](https://marketplace.visualstudio.com/items?itemName=Equinusocio.vsc-material-theme-icons)
5. [City Lights](https://marketplace.visualstudio.com/publishers/Yummygum)

[More...](https://javascript.plainenglish.io/10-icon-packs-for-vs-code-87d2ff700d0c)




# skills Clonar Projeto

1. Clonar repositório:

```
git clone https://github.com/DIGOARTHUR/filePattern-React
.git
```

:warning: 2. Trocar URL do repositorio remoto (caso necessário)

2.1 Ver qual o repositorio atual
```
git remote -v
```
2.2 Mudar a URL do repositorio remoto
```
git remote set-url origin
```
2.3 Verifique se a mudança foi realizada
```
git remote -v
```



# skills Por que?
Quando estamos desenvolvento um projeto às vezes ficamos perdidos em relação onde inserir cada arquivo. Este projeto demonstra um exemplo, demonstra uma ideia em como se organiza e o que cada pasta significa.

---
Obrigadíssimo pela a sua atenção. Abraçoo ♥