Skip to main content

Scaffolding

In this section, you will find information about the project file structure and the purpose of the main folders.

Source Files

Folder/FilePurpose
assetsThe application's assets, contains fonts, svg and png files
componentsThe application's components.
components/CommonKitIn this folder you'll find global components such as Buttons, Cards, Icons, etc... Many of these components are overridden material-ui components
components/HooksThis folder contains the hooks of the application
components/App.tsxThe root component, it calls the Routes component
constantsThis 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
dbIn this folder, you'll find JSON data used for challenges, ecogestures, and the FAQ.
doctypesThis folder contains the cozy doctypes, you can see more on Cozy Documentation
enumThis folder contains all enums like Fluid types, Screen types, and Timesteps.
localesThis folder contains JSON data used by the translation system i18n provided by Cozy-ui
migrationsThis folder contains all migrations
modelsThis folder contains all models
notificationsThis folder contains all mail notifications
servicesThis folder contains all the services
storeThis folder contains all actions and reducers classified by component
stylesThe styles folder you'll find a base folder that contains our variables and a components folder that contains components styles
targets
types
utilsIn this folder you'll find utilities methods

Configuration Files

Folder/FilePurpose
.eslintrc.jsConfig file for ESLint
gitlab-ci.ymlConfig file used for Gitlab continuous integration
.prettierrcConfig file for Prettier extension
jest.config.jsConfig file used by Jest for testing the application
manifest.webappManifest of the application, used by cozy for the management of permissions, you can add permissions for doctypes there
tsconfig.jsonConfig file for Typescript