Folders Architecture

Folders Architecture


GitHub (opens in a new tab) configuration files for GitHub actions, PR templates and README assets.


GIT hooks created with Husky (opens in a new tab).


Storybook (opens in a new tab) configuration.


VS Code workspace settings (opens in a new tab).
The extensions.json file contains some recommended extensions for the project.


End-to-end tests folder for Playwright (opens in a new tab) tests.


This folder should NEVER be tracked on GIT because it contains all dependencies files of the project.
These files are downloaded when you install the dependencies with pnpm install.


Prisma (opens in a new tab) folder for database schema schema.prisma and seed scripts.


This folder contains static assets which will be exposed at the root of the website by NextJS. See NextJS static assets documentation (opens in a new tab) for more details.


Folder for scripts that will be auto executed on build or setup step.


This scripts will be run on postinstall and will auto generate a build-info.json file with commit and date info that can be display in the application.


Root folder of all the source code of the application. When importing files, you can use @/ to reference this folder.


Next router folder, all the routes of the application are declared in this folder. See the Next App Router documentation (opens in a new tab) for more details.


React generic UI components. In this folder, all components should be "dumb", focus on UI rendering and without business logic. These components should be documented in Storybook.


This folder contains all emails templates created with react-email (opens in a new tab).


All business features for client code or code shared between client and server.


React generic hooks that can be use accross the application.


Global configuration for client libraries or libraries shared between client and server. If you need a configuration only on the server side, use the src/server/config folder.


Folder which contains all the translations files. Use i18n Ally VS Code extension (opens in a new tab) for help on this part 😅.


All the code for the server ONLY code.


Configuration of all server only libraries.


All tRPC routers that contains API routes splitted by features.


The root file for all tRPC routers. This is the entry point of the API.


Customization of the Chakra UI theme (opens in a new tab).


Global TypeScript types available accross all the code base without imports.


Allows to validate and transform environment variables. This will enforce strong typing for environment variables.
Update this file when you add/remove/update some environment variables.


This file is LOCAL and should NEVER be tracked on GIT. All sensitive information should be set in this .env file by each developers.


This file IS tracked on GIT, make sure that you NEVER put sensitive information in this file. All sensitive information should be set in the .env. This file show an example of the .env that a new developer on the project can duplicate to create their own .env file.