You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: docs/dev.md
+86
Original file line number
Diff line number
Diff line change
@@ -13,3 +13,89 @@ Alguns scripts úteis no processo de desenvolvimento
13
13
|`pnpm lint:fix`| Executa lint e faz correções caso aplicável, esse comando é usado também para correções de dependências entre projetos |
14
14
|`pnpm dev:server`| Executa apenas o app back-end para desenvolvimento |
15
15
|`pnpm build:server`| Executa o build do app back-end |
16
+
17
+
### Geradores
18
+
19
+
Como toda pessoa programadora sabe, tudo que segue um padrão pode ser automatizado, certo? Este repositório segue um padrão de arquitetura, e por isso recomendamos que seja usado algum dos scripts para criação de novas bibliotecas, são facilitadores que ajuda evitar reescrita de código, veja a seguir.
20
+
21
+
#### Novas bibliotecas
22
+
23
+
Os scripts são nomeados conforme o tipo de biblioteca que está sendo criada e estão no diretório `tools/scripts/`.
|`domain.sh`|`nome-do-dominio`|`-d`| Cria um novo domínio no repositório |
28
+
|`data-source.sh`|`nome-do-dominio`|`-d`| Cria a camada de acesso a dados para o back-end e relacionada ao domínio especificado |
29
+
|`data-access.sh`|`nome-do-dominio`|`-d`| Cria a camada de acesso a dados para o front-end e relacionada ao domínio especificado |
30
+
|`feature-shell.sh`|`nome-do-dominio`|`-d`| Cria uma `feature` com sufixo `shell` para o domínio especificado e **DEVE** ser a rota primária no app `devmx`|
31
+
|`feature-admin.sh`|`nome-do-dominio`|`-d`| Cria uma `feature` com sufixo `admin` para o domínio especificado e **DEVE** ser a rota secundária, na `feature-shell` do mesmo domínio |
32
+
|`resource.sh`|`nome-do-dominio`|`-d`| Cria uma camada back-end relacionada ao domínio especificado, **DEVE** configurar os _schemas_ da camada `data-source` e _endpoints_ do domínio |
33
+
|`ui-shared.sh`|`nome-do-dominio`|`-d`| Cria uma camada `ui` do front-end para o domínio especificado, serve para compartilhar componentes usados em mais de 2 lugares na aplicação |
34
+
|`feature-page.sh`|`nome-do-dominio`|`-d`| Cria uma camada `feature` para rotas públicas no front-end, ou seja, que podem ser acessadas sem necessidade de autenticação |
35
+
|`shared-ui.sh`|`nome-do-dominio`|`-d`| Cria uma biblioteca front-end `ui` que será compartilhada entre várias bibliotecas `feature` em vários domínios do repositório |
36
+
37
+
#### Novas entidades em bibliotecas existentes
38
+
39
+
Desta vez não se trata de um código facilitador escrito em shell script mas de um gerador de código, o comando é:
40
+
41
+
```sh
42
+
nx g @devmx/plugin-dx-dev:entity nome-da-entidade --scope nome-do-dominio
43
+
```
44
+
45
+
> [!WARNING]
46
+
> Antes de executar o comando, use o parâmetro **-d** para simular e garantir que a saída está como esperado, veja o exemplo a seguir.
47
+
48
+
Para criar uma entidade `quiz` para o domínio `learn`.
49
+
50
+
```sh
51
+
devmx$ nx g @devmx/plugin-dx-dev:entity quiz --scope learn -d
0 commit comments