Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Set up a modern node.js api service by running one command.

License

NotificationsYou must be signed in to change notification settings

jinnatul/nano-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npmpublish sizestarsnpmtotal downloads

nano-app - A command-line application for Node.js projects | Product Hunt

Node App

nano-app is a command-line application, here you can easily create your node.js project structure.

Installation

Install my-project with npm

  npx nano-app my-projectcd my-project

It will create a directory called my-project inside the current folder.Inside that directory, it will generate the initial project structure and install the transitive dependencies:

my-project├── package.json├── package-lock.json├── .prettierrc├── .prettierignore├── .gitignore├── .env.production├── .env.development├── .babelrc├── node_modules└── src    ├── config        ├── cloudinary.js        ├── database.js        ├── passport.js        └── sendEmail.js    ├── controllers        └── authController.js    ├── middlewares        ├── authorizedUser.js        └── google.js    ├── models        ├── auditLogs.js        ├── userRoleMaps.js        ├── users.js        └── validations.js    ├── routes        ├── authRouter.js        └── router.js    ├── utils        ├── errors            └── globalErrorHandler.js        ├── responses            ├── sendData.js            ├── sendMessage.js            └── sendResponse.js        ├── templates            ├── forgotMail.js            └── signUpMail.js        ├── createJWT.js        └── createMFA.js    ├── app.js    └── server.js

Features

  • ES6+ configuration (Babel)
  • Better error handling
  • Clean code structure
  • Google authentication (Passport strategy)
  • Email authentication with OTP verification (Sent mail using Google Gmail)
  • Implement MFA using speakeasy
  • MFA QR code images stored in Cloudinary
  • Forgot Password via mail
  • Modern data validation using Joi
  • Forgot password mail template
  • OTP validation mail template

Environment Variables

To run this project, you will need to add the following environment variables to your .env.development (Development mode) or .env.production (Production mode) file

  • DB_NAME
  • DB_USER
  • DB_PASS
  • HOST
  • SCHEMA

If you want to store MFA QR code atCloudinary

  • CLOUD_NAME
  • CLOUD_KEY
  • CLOUD_SECRET

If you want to use google loginGoogle console

  • GOOGLE_CLIENT_ID
  • GOOGLE_CLIENT_SECRET
  • GOOGLE_CALLBACK_URL

If you want to use email verification

  • EMAIL
  • EMAIL_PASS (App password)

API Reference

Google Log In

  Redirect /api/v1/auth/google

For google login you need to set yourFrontEnd URL at .env.development or .env.production [FRONT_END]

Sign Up

  POST /api/v1/auth/signup
BodyTypeDescription
f_namestringRequired. Your first name
l_namestringRequired. Your last name
emailstringRequired. Your email
phonestringRequired. Your phone number
passwordstringRequired. Your password

Sign In

  POST /api/v1/auth/signin
BodyTypeDescription
emailstringRequired. Your email
passwordstringRequired. Your password

Resent OTP

  POST /api/v1/auth/resent-otp
BodyTypeDescription
emailstringRequired. Your email

Verify OTP

  POST /api/v1/auth/verify-otp
BodyTypeDescription
emailstringRequired. Your email
otpstringRequired. Your otp

Verify MFA

  POST /api/v1/auth/verify-mfa
BodyTypeDescription
idintRequired. Your user id
tokenstringRequired. Your mfa token

Forgot Password

  POST /api/v1/auth/forgot-password
BodyTypeDescription
emailstringRequired. Your email

Reset Password

  POST /api/v1/auth/reset-password
BodyTypeDescription
reset_linkstringRequired. Reset link
passwordstringRequired. Your password

Get Profile

  GET /api/v1/auth/profile
ParameterTypeDescription
AuthorizationstringRequired. Your JWT token

Run Locally

Install dependencies

  npm install

Start the server

  npm run dev

Deployment

To deploy this project run

  npm run start

Usage/Examples

npx nano-app api

Part 1

Part 2

Part 3

Demo

Insert gif or link to demo

nano-app.mp4

Tech Stack

Server: Node, Express

Authors

Feedback

If you have any feedback, please reach out to us atmorolswediu@gmail.com

Support

For support, emailmorolswediu@gmail.com

License

MIT

If you like, Give a star ⭐

🧡 Support:

Morol

About

Set up a modern node.js api service by running one command.

Topics

Resources

License

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp