0.1.4 • Published 4 years ago

start-express-app v0.1.4

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

START EXPRESS APP

Easy to use cli to bootstrap your node.js-express project.

required node version 12.0.0+

Options:

LanguageDatabase
Javascript :heavy_check_mark:MongoDb :heavy_check_mark:
Typescript :heavy_check_mark:SQL(default to mysql) :heavy_check_mark:

Authentication - You can choose to have basic authentication finished at the start of the project. Only JWT authentication is available at the moment.

Usage

Usage with npx:

npx start-express-app myapp

Alternatively you can install this package globally.

npm i start-express-app -g

Then in your terminal you have access to run command

start-express-app myapp

myapp - directory you want to start your project in.

You will be promped with these questions:

  • Do you want DB in your project? (y/N):
  • Please choose the language for your project:
    • Javascrypt
    • Typescrypt
  • Please choose database for your project: (if you chose that you want one)
    • MongoDB
    • SQL (default to mysql)
  • Do you want authentication setup? (y/N)
  • Initialize a git repository? (y/N)
  • Install npm packages? (y/N)

And you're done! don't forget to change environment variables (and ormconfig.json if you have it) before you start coding

API endpoints

If you chose to have authentication setup at the start of the project, you will have some auth endpoints.

POST /api/v1/users

Sign up user. You should send: password, passwordConfirm, firstName, lastName and email.

 {
   email: 'valid@email.com',
   password: 'password',
   passwordConfrim: 'password',
   firstName: 'John',
   lastName: 'Doe'
 }

POST /api/v1/users/login

Sign in user. You should send: valid password and valid email. Response with jwt cookie and user

 {
   email: 'valid@email.com',
   password: 'password'
 }

POST /api/v1/users/logout

Sign out user. No payload. Responds with empty jwt cookie, effectively logging you out.

POST /api/v1/users/forgotPassword

Send email for reseting password. You should sand a valid email. Responds with status 200 , and send email for your password reset.

{
	email: 'valid@email.com';
}

PATCH /api/v1/users/resetPassword/:token

Reset users password. You should send new password and passwordConfirm.

 {
   password: 'password',
   passwordConfrim: 'password',
 }

ODMs/ORMs

MONGOSQL
JavascriptMongooseSequelize
TypescriptMongooseTypeORM

Views

All views are rendered with PUG atm.