node-ultimate-starter is the repo you should look into if you need one of those awesome boilerplates. Wondering what's so special about this ? Checkout out the Features and other info below. This repo follows layered architecture.
- Rename .env.example to .env
- Change the appropriate values of .env variables.
- If you don't have PM2 Globally Installed., run this.
npm install pm2 -g
npm install
To run in development mode, use:
pm2 run dev
To run in debug mode, use:
pm2 run debug
To run in production mode, use:
npm start
- Authentication
- SignUp
- SignIn
- Two Step Verification ( Google Authenticator )
- Email Verification
- Resend Email
- Reset Password
- Powerful password encryption using ARGON2
- Users Account Related
- User Settings
- Change Password
- Theme Preferences
- Notification Preferences
- Save User Session - User Tracking
- IP Address
- UserAgent
- Physical Location ( Coordinates )
- User Settings
- Log Management
- Log Rotation on a daily basis
- Mailer Service
- Custom Mail
- Pre-defined Mails
- Response Formatter ( Common Response Format Service for all the API's )
- PM2 Deployment
- Environments
- Development
- Production
- Debug
- Environments
- NodeJS Coding best practises are followed from NodeBestPractices Repo.
- Codebase strictly uses Async/Await, No usage of Callbacks & Promises.
- JavaScript ES6 Standards.
- Promises can be used when using 3rd party code snippet's but, Restrict to Async/Await wherever possible.
Coming soon.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AwesomeFeature
) - Commit your Changes (
git commit -m 'Add some AwesomeFeature'
) - Push to the Branch (
git push origin feature/AwesomeFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Akhil Mukkamala - @AkhilMukkamala - E-Mail