/react-app-template

Our guide repository structure for react apps, that should be used as a template.

Primary LanguageJavaScript

📢 Use this project, contribute to it or open issues to help evolve it using Store Discussion.

APP NAME

All Contributors

Under the app's name, you should explain the topic, giving a brief description of its functionality in a store when installed.

Next, add media (either an image of a GIF) with the rendered components, so that users can better understand how the app works in practice.

Media Placeholder

Configuration

In this section, you first must add the primary instructions that will allow users to use the app's blocks in their store, such as:

  1. Adding the app as a theme dependency in the manifest.json file;
  2. Declaring the app's main block in a given theme template or inside another block from the theme.

Remember to add a table with all blocks exported by the app and their descriptions. You can verify an example of it on the Search Result documentation.

Next, add the props table containing your block's props.

If the app exports more than one block, create several tables - one for each block. For example:

block-1 props

Prop name Type Description Default value
XXXXX XXXXXX XXXXXXXX XXXXXX

block-2 props

Prop name Type Description Default value
XXXXX XXXXXX XXXXXXXX XXXXXX

Prop types are:

  • string
  • enum
  • number
  • boolean
  • object
  • array

When documenting a prop whose type is object or array another prop table will be needed. You can create it following the example below:

  • propName object:
Prop name Type Description Default value
XXXXX XXXXXX XXXXXXXX XXXXXX

Remember to also use this Configuration section to showcase any necessary disclaimer related to the app and its blocks, such as the different behavior it may display during its configuration.

Modus Operandi (not mandatory)

There are scenarios in which an app can behave differently in a store, according to how it was added to the catalog, for example. It's crucial to go through these behavioral changes in this section, allowing users to fully understand the practical application of the app in their store.

If you feel compelled to give further details about the app, such as it's relationship with the VTEX admin, don't hesitate to use this section.

Customization

The first thing that should be present in this section is the sentence below, showing users the recipe pertaining to CSS customization in apps:

In order to apply CSS customizations in this and other blocks, follow the instructions given in the recipe on [Using CSS Handles for store customization](https://vtex.io/docs/recipes/style/using-css-handles-for-store-customization).

Thereafter, you should add a single column table with the available CSS handles for the app, like the one below. Note that the Handles must be ordered alphabetically.

CSS Handles
XXXXX
XXXXX
XXXXX
XXXXX
XXXXX

If there are none, add the following sentence instead:

No CSS Handles are available yet for the app customization.

Contributors ✨

Thanks goes to these wonderful people:

This project follows the all-contributors specification. Contributions of any kind are welcome!


Check out some documentation models that are already live: