Skip to content

Nx-Nodejs-Typescript / Express / MongoDB REST API Boilerplate.

License

Notifications You must be signed in to change notification settings

DevUnderflow/nx-node-typescript-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Nx Logo

Nx-Nodejs-Typescript/GraphQL/Express/MongoDB Boilerplate

A 👨🏻‍💻 Nx-Node-Typescript/Express/MongoDB Boilerplate with User Authentication and Authorization with JWT support.This is an updated version of Sam Quinn's bulletproof-nodejs implementation Link to Repo

This project was generated using Nx.

🐞 Bug Report    📢 Feature Request

LICENSE contributions welcome Open Source

Tech Stack

🔎 Nx is a set of Extensible Dev Tools for Monorepos.

Development

We use node version 10.15.0

nvm install 10.15.0
nvm use 10.15.0

The first time, you will need to run

npm install

Run nx serve for a dev server. Navigate to http://localhost:4000/. The app will automatically reload if you change any of the source files.

On Initial serve make a POST request to generate API Key

/api/v1/generateApiKey

REQUEST BODY 
{
  email: <EMAIL_ID>
}

RESPONSE BODY 
{
    "apiKey": <VALUE>
}

Add this apiKey to request header for any server request as

headers {
  'x-api-key' : <VALUE>
}

Build

Run npm run build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Understand your workspace

Run nx dep-graph to see a diagram of the dependencies of your projects.

Further help

Visit the Nx Documentation to learn more.

Monitor

Newrelic.com used for server monitoring
To add your own monitor dashboard register at newrelic.com, setup new application and follow steps. Then replace newrelic.js.template file with the file provided by the at the time of setup.

Developer

image
LinkedIn Portfolio

Contributing

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.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.