Skip to content

Commit

Permalink
Précise les conventions de dossiers et fichiers
Browse files Browse the repository at this point in the history
  • Loading branch information
farnoux committed Nov 25, 2024
1 parent 97dfa78 commit 69fd6b8
Showing 1 changed file with 51 additions and 13 deletions.
64 changes: 51 additions & 13 deletions doc/adr/0003-conventions-de-code.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,63 @@ Les conventions de nommage et d'architecture choisies suivent les standards par

- **`kebab-case` pour les noms de fichiers et dossiers**

Exemple : `src/app/plan-actions/plan-actions.tsx`

- **Organisation des dossiers d'abord par domaine → puis scope → puis layer technique**

Exemple : `src/indicateurs/models/indicateur.schema.ts`

Exemple : `src/plan-actions/shared/models/fiche-action.schema.ts`

Exemple : `src/app/plan-actions/fiche-actions/views/fiche-action.card.tsx`
Exemple : `src/app/plans/plan-actions.tsx`

- **Organisation des dossiers d'abord par domaine → puis scope [→ puis feature] [→ puis layer technique]**

Exemple côté backend :

```
src
└ plans
└ fiches
· └ count-by-statut
· · └ count-by-statut.router.ts
· · └ count-by-statut.router.e2e-test.ts
· · └ count-by-statut.service.ts
· └ update
· · └ update.controller.ts
· · └ update.service.ts
· · └ update.request.ts
· └ shared
· └ fiche-action.table.ts
· └ fiche-action-referent.table.ts
└ shared
└ models
└ thematique.table.ts
└ structure-tag.table.ts
```

Exemple côté frontend :

```
src
└ plans
└ toutes-les-fiches
· └ views
· └ fiche-action.list.tsx
· └ fiche-action.list-item.tsx
· └ fiche-action.card.tsx
· └ fiche-action.card.stories.tsx
└ shared
└ hooks
└ use-create-fiche-action.ts
└ use-export-fiche-action.ts
```

- **Suffix des fichiers avec son "type"**

Exemple type UI : `fiche-action.card.tsx`, `fiche-action.list.tsx`, `fiche-action.list-item.tsx`
Exemple type UI :

- `fiche-action.card.tsx`
- `fiche-action.list.tsx`
- `fiche-action.list-item.tsx`

- **`index.ts` au niveau des sous-scopes**, si besoin, pour rassembler tous les exports associés et simplifier les imports.

Exemple : `src/plan-actions/fiche-actions/index.ts`
Exemple : `src/plans/fiches/index.ts`

→ résultat à l'import : `import { FicheAction } from '@tet/api/fiche-actions'`
→ résultat à l'import : `import { FicheAction } from '@tet/api/plans/fiches'`

### Les domaines métiers Territoires en Transitions

Expand All @@ -65,7 +103,7 @@ Voici les domaines définis actuellement :
- `paniers`
6. `shared`

Les domaines définis doivent rester restreints et (quasi) figés.
Les domaines et scopes définis doivent rester restreints et (quasi) figés.

L'ajout exceptionnel d'un nouveau domaine ne peut se faire qu'après validation auprès de l'ensemble de l'équipe.

Expand Down

0 comments on commit 69fd6b8

Please sign in to comment.