> For the complete documentation index, see [llms.txt](https://l-shop-en.gitbook.io/documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://l-shop-en.gitbook.io/documentation/configuration/setting-up-the-development-environment.md).

# Setting up the development environment

## Introduction

If you are going to make any changes to the system code, you will need to configure the project for this.

## Configuration

### Backend

1. Reset application cache.
2. Open the `.env` file in the root of your application. And set the **APP\_ENV** option to `dev`, and the **APP\_DEBUG** option to `true`. Also, for convenience, you should disable any caching. To do this, set the **CACHE\_DRIVER** and **DOCTRINE\_CACHE** options to `void`.

### Frontend

To change the frontend, you must have [node.js](https://nodejs.org/en/) installed on your machine.

You should run the following command while in the system directory:

```bash
$ npm install
```

Wait until the dependency installation is done.

Now you can use the [webpack](https://webpack.js.org/) project collector. The following commands will help you with this:

```bash
$ npm run dev
```

* The command once assembles the project in the environment for development. The project is going relatively quickly, but the output files are large. Should be used in development.

```bash
$ npm run watch
```

* The command begins to "watch" the files and, with any change, collect the project. In this mode, the files are also large. Should be used in development.

```bash
$ npm run build
```

* The command once assembles the project in the production environment. The project is going to be relatively long, but the output files have a minimum size. It should be used for deploy.
