# Folder Structure

{% embed url="<https://youtu.be/IJ_zQlPZvZ4?list=PLknn3jaIuWiDKKEy3EO-p5-MP1nSOgUr1>" %}
Watch this video - "Helps you to understand the directory structure of whole Berry Template"
{% endembed %}

{% hint style="info" %}
If you prefer reading docs, continue reading below instead watching the above video.
{% endhint %}

Under th&#x65;**`berry-material-react/`** directory, You will find the following folder structure.

{% tabs %}
{% tab title="Folder Structure (CRA)" %}

```javascript
berry-material-react
..
├── package.json           -> Package json file.
├── public
├── README.md
├── src
│   ├── _mockApis          -> Mock Json data to be used for working apps
│   ├── assets
│   │   ├── images
│   │   ├── scss           -> Template SCSS files
│   │       ├── style.scss -> Application main file
│   │       ├── _themes-vars.module.scss
│   ├── contexts           -> State context for Login management
│   ├── hooks              -> Custom hooks
│   ├── layout
│   │   ├── DocsLayout     -> Layout for docs components & routers
│   │   ├── MainLayout     -> Layout for main components & routers
│   │   ├── MinimalLayout  -> Layout for mimimal components & routers
│   │   ├── NavigationScroll.js
│   │   ├── NavMotion.js
│   ├── menu-items         -> menu items
│   ├── routes             -> different route based on layouts
│   ├── store              -> Redux actions, reducers
│   │   ├── slices         -> different slices of toolkit
│   ├── themes             -> Contains application style and theme
│   ├── types              -> common types for Typescript. Exist only in Typescript
│   ├── ui-component       -> Template custom & reusable components
│   ├── utils
│   │   ├── locales        -> different locale json files
│   │   ├── route-guard    -> Auth guard to prevent unexpected navigations
│   └── views              -> View files for all pages
├── App.js                 -> starting point of application
├── config.js              -> Template constant value and live customization  
├── index.js               -> Application root js file
```

{% endtab %}

{% tab title="nextJS" %}

```
berry-material-react
..
├── package.json           -> Package json file.
├── public
│   ├── assets             -> images in different directories
│   │   ├── auth
│   │   ├── cards
│   │   ├── docs
│   │   ├── ...
├── README.md
├── src
│   ├── components         -> components used in different pages
│   │   ├── application
│   │   ├── authentication
│   │   ├── contact-us
│   │   ├── dashboard
│   │   ├── ...
│   ├── contexts           -> State context for Login and other
│   ├── hooks              -> Custom hooks
│   ├── layout
│   │   ├── Customization
│   │   ├── MainLayout     -> Layout for main components & routers
│   │   ├── MinimalLayout  -> Layout for minimal components & routers
│   │   ├── NavigationScroll.js
│   │   ├── NavMotion.js
│   │   ├── GuestGuard.js
│   ├── menu-items         -> menu items for each main menu
│   │   ├── application.js
│   │   ├── dashboard.js
│   │   ├── ...
│   ├── pages              -> next js pages
│   ├── scss               -> styles-themes
│   ├── store              -> Redux actions, reducers
│   │   ├── slices         -> different slices of toolkit
│   ├── themes             -> Contains application style and theme
│   ├── types              -> common types for Typescript. Exist only in Typescript
│   ├── utils
│   │   ├── locales        -> different locale json files
│   │   ├── route-guard    -> Auth guard to prevent unexpected navigations
├── config.js              -> Template constant value and live customization  
```

{% endtab %}
{% endtabs %}
