Przejdź do głównej zawartości

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