Skip to main content

final-step

Folder Structure

The folder structure generated by the CLI is as follows:

├── node_modules
├── package-lock.json
├── package.json
├── knexFile.js
└── src
├── index.js
├── domain
│ ├── entities
│ └── herbarium.js
└── infra
├── api
│ ├── graphql
│ │ ├── index.js
│ │ ├── queries.js
│ │ ├── mutations.js
│ │ └── types.js
│ └── server.js
├── config
│ ├── api.js
│ ├── index.js
│ └── postgres.js
├── data
│ ├── database
│ │ └── connection.js
│ └── repositories
└── index.js

After creating our entities, setup the database and set databases credentials in configuration files. We will run a special herbs-cli command thats will generate migrations files in src/infra/data/database/migrations, repositories files in src/infra/data/database/repositories.

Let's run in terminal inside our project root:

herbs update

In this moment some magic happens 🎉!! Now we can see our project structure folder it should be like this:

├── node_modules
├── package-lock.json
├── package.json
├── knexFile.js
└── src
├── index.js
├── domain
│ ├── entities
│ │ ├── Item.js
│ │ └── List.js
│ ├── usecases
│ │ ├── item
│ │ │ └── ...
│ │ └── list
│ │ └── ...
│ └── herbarium.js
└── infra
├── api
│ ├── graphql
│ │ ├── index.js
│ │ ├── queries.js
│ │ ├── mutations.js
│ │ └── types.js
│ └── server.js
├── config
│ ├── api.js
│ ├── index.js
│ └── postgres.js
├── data
│ └── database
│ ├── migrations
│ │ └── ...
│ ├── repositories
│ │ └── ...
│ └── connection.js
└── index.js