# Best Practices

## Project Structure

Create assets, views, actions and integrations in the proper folder. It helps you to orient in your project.

{% hint style="info" %}
To reuse the same content, create a View and embed it as a widget using View component.
{% endhint %}

## Resource Naming

We recomend to use PascalCase style with dots.

**Integration** - name it as `type.description`.

Examples:

```
Api.MyBackend
Db.MyDatabase
```

**Action** - start with a verb describing purpose of the action.

Examples:

```
GetUsers
InsertArticle
```

**View** - name should represent a page content.

Examples:

```
Users
AddArticle
```

## Variable Naming

Use noun related to the data that the variable contains. We recommend to use camelCase style.

Examples:

```
users         (calling action GetUsers)
buttonState   (represents on / off state)
```

## Component Naming

We recommend to start each name of any component with three abbreviation letter and continue with component description with camelCase style:

* container - cnt
* box - box
* sidebar - sdb
* app header - hdr
* advanced table - adt
* data table - dtb
* pagination - pgn
* text - txt
* label - lbl
* icon - icn
* image - img
* all fields - fld
* button - btn
* menu button - mnb
* property item - pri
* repeat - rpt
* routes - rts
* one of - onf
* qr code - qrc
* composed chart - cmc
* view - view
