# Scaffolding In this section, you will find information about the project file structure and the purpose of the main folders. ## Source Files | Folder/File | Purpose | | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | assets | The application's assets, contains fonts, svg and png files | | components | The application's components. | | components/CommonKit | In this folder you'll find global components such as Buttons, Cards, Icons, etc... Many of these components are overridden material-ui components | | components/Hooks | This folder contains the hooks of the application | | components/App.tsx | The root component, it calls the Routes component | | constants | This folder contains constants files such as **config.json** for the konnectors fluid config, **connexionWaitingText.json** for the sentences displayed while fetching fluid data, and a folder **consumptionConstants** that contains json files with constants for consumption calculation and comparison | | db | In this folder, you'll find JSON data used for challenges, ecogestures, and the FAQ. | | doctypes | This folder contains the **cozy** doctypes, you can see more on [Cozy Documentation](https://github.com/cozy/cozy-doctypes) | | enum | This folder contains all enums like Fluid types, Screen types, and Timesteps. | | locales | This folder contains JSON data used by the translation system i18n provided by [Cozy-ui](https://github.com/cozy/cozy-ui) | | migrations | This folder contains all migrations | models | This folder contains all models | | notifications | This folder contains all mail notifications | | services | This folder contains all the services | | store | This folder contains all actions and reducers classified by component | | styles | The styles folder you'll find a **base** folder that contains our variables and a **components** folder that contains components styles | | targets | | types | | utils | In this folder you'll find utilities methods | ## Configuration Files | Folder/File | Purpose | | --------------- | ---------------------------------------------------------------------------------------------------------------------- | | .eslintrc.js | Config file for ESLint | | gitlab-ci.yml | Config file used for Gitlab continuous integration | | .prettierrc | Config file for Prettier extension | | jest.config.js | Config file used by Jest for testing the application | | manifest.webapp | Manifest of the application, used by cozy for the management of permissions, you can add permissions for doctypes there | | tsconfig.json | Config file for Typescript |