Primeiro, instale o Yeoman e o gerador-expressjs-rest usando npm (presumimos que você tenha o node.js pré-instalado).
npm install -g yo
npm install -g generator-expressjs-rest
Então, você pode usar yo
para gerar seu projeto.
yo expressjs-rest # generate a new project
yo expressjs-rest:api # generate a new api endpoint inside your project
Depois de gerar seu projeto, estes comandos.
cd your-project-name
mv .env.example .env
docker-compose build
docker-compose run --rm client yarn build
docker-compose up
src/
├─ api/
│ ├─ auth/
│ │ ├─ index.js
│ │ ├─ auth.service.js
│ │ ├─ auth.validation.js
│ │ ├─ auth.controller.js
│ │ └─ auth.test.js
│ ├─ uploads/
│ │ ├─ index.js
│ │ ├─ upload.controller.js
│ ├─ users/
│ │ ├─ index.js
│ │ ├─ user.controller.js
│ │ ├─ user.validation.js
│ │ ├─ user.model.js
│ │ ├─ user.service.js
│ │ └─ user.test.js
│ └─ index.js
├─ services/
│ ├─ index.js
│ ├─ jwt.js
│ ├─ logger.js
│ ├─ mailgun.js
│ ├─ mongoose.js
│ ├─ passport.js
│ ├─ response.js
│ ├─ s3.js
│ ├─ swagger.js
│ └─ your-service.js
├─ app.js
├─ config.js
└─ index.js
É aqui que os endpoints da API são definidos. Cada API possui sua própria pasta.
Ele define o esquema e modelo do Mongoose para o endpoint da API. Quaisquer alterações no modelo de dados devem ser feitas aqui.
Este é o arquivo do controlador de API. Define os principais middlewares de roteadores que utilizam o modelo API.
Este é o arquivo de entrada da API. Ele define as rotas usando, junto com outros middlewares (como sessão, validação etc.), os middlewares definidos no arquivo some-endpoint.controller.js
.
Aqui você pode colocar helpers
, libraries
e outros tipos de módulos que deseja usar em suas APIs.
PRs são bem-vindos.
@minhuyen e todos os colaboradores
MIT © minhuyen