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/CommonKit | In this folder you'll find global components such as Buttons, Cards, Icons, etc... Many of these components are overrided material-ui components
components/ContainerComponents | In this folder you'll find parent components which calls chlidren **Content Components**
components/ContentComponents | In this folder you'll find every content component that are called by **Container Components**
components/Contexts | This folder contains the component used to set the context of the application
components/Hooks | This folder contains the hooks of the application
App.jsx | The root component, it calls the Container component '**ViewContainer**' which is our main component
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 enums for 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)
services| Here you'll find all the services
styles | The styles folder you'll find a **base** folder that contains our variables and a **components** folder that contains components styles
targets | 
utils | In this folder you'll find utilitaries 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
config.json | Config file for fluid types
jest.config.js | Config file used by Jest for testing the application
manifest.webapp | Manifest of the application, used by cozy for the managment of permissions, you can add permissions for doctypes there
tsconfig.json | Config file for TypeScript