Struktura plików
Używamy tej z bulletproof-react, ale lekko przerobionej pod nasze potrzeby. Na start aplikacji polecam pominąć folder features
i wszystko robić toplevel i dopiero później podzielić na featury.
- next.config.ts
- tailwind.config.ts
- package.json
Foldersrc
Folderapp # tutaj są nasze wszystkie strony
- layout.tsx
- page.tsx
Folderblog
Folder[slug]
- page.tsx
Folderkontakt
- page.tsx
Folderassets # zdjęcia, czcionki i inne rzeczy
- fajne_foto.webp
Foldercomponents # komponenty używane w całej aplikacji
- FirstComponent.tsx
- SecondComponent.tsx
Folderfeatures/ # moduły podzielone na feature’y
- …
Folderhooks # hooki używane w całej aplikacji
- useAuth.tsx
- usePlan.tsx
Foldertest/ # utilites do testów + mocki
- …
Foldertypes/ # typy używane w całej aplikacji
- …
Folderutils # funkcje używane w całej aplikacji
- db.ts
- lib.ts
Każdy feature ma taką strukturę:
Foldersrc/features/awesome-feature
Folderapi/ # exported API request declarations and api hooks related to a specific feature
- …
Folderassets/ # static files
- …
Foldercomponents/ # components scoped to a specific feature
- …
Folderhooks/ # hooks scoped to a specific feature
- …
Folderatoms/ # atomy używane w konkretnym featuerze
- …
Foldertypes/ # typescript types used within the feature
- …
Folderutils/ # utility functions for a specific feature
- …