1.7.3 • Published 7 months ago

generator-expressjs-rest v1.7.3

Weekly downloads
11
License
ISC
Repository
github
Last release
7 months ago

Generator Expressjs Rest

Build Status

Features

  • User Registration
  • Basic Authentication with username and password
  • Admin use react-admin
  • Oauth 2.0 Authentication
    • Facebook
    • Google
  • Upload Photo to S3 amazon
  • Docker

Prerequisites

Installation

Fist, install Yeoman and generator-expressjs-rest using npm (we assume you have pre-installed node.js).

npm install -g yo
npm install -g generator-expressjs-rest

Generators

Then, you can use yo to generate your project.

yo expressjs-rest # generate a new project
yo expressjs-rest:api # generate a new api endpoint inside your project

Commands

After you generate your project, these commands.

cd your-project-name
mv .env.example .env

docker-compose build
docker-compose run --rm client yarn build
docker-compose up

Playing locally

Deploy

Directory structure

Overview

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

src/api/

Here is where the API endpoints are defined. Each API has its own folder.

src/api/some-endpoint/model.js

It defines the Mongoose schema and model for the API endpoint. Any changes to the data model should be done here.

src/api/some-endpoint/controller.js

This is the API controller file. It defines the main router middlewares which use the API model.

src/api/some-endpoint/index.js

This is the entry file of the API. It defines the routes using, along other middlewares (like session, validation etc.), the middlewares defined in the some-endpoint.controller.js file.

services/

Here you can put helpers, libraries and other types of modules which you want to use in your APIs.

TODO

  • Support optional phone authentication
  • Support optional email confirmation process
  • Support Twitter and other social login methods
  • Socket.io support

PRs are welcome.

Credits

@minhuyen and all contributors

License

MIT © minhuyen

1.7.3

7 months ago

1.7.2

7 months ago

1.7.1

8 months ago

1.7.0

8 months ago

1.6.4

10 months ago

1.6.3

10 months ago

1.6.2

10 months ago

1.6.1

10 months ago

1.6.0

12 months ago

1.5.8

12 months ago

1.6.5

10 months ago

1.5.7

1 year ago

1.5.5

2 years ago

1.5.6

2 years ago

1.5.3

2 years ago

1.5.2

2 years ago

1.5.1

2 years ago

1.5.0

3 years ago

1.4.2

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.3

3 years ago

1.3.2

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.5

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.2

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago