{"id":20331251,"url":"https://github.com/devzstudio/mern-snippets","last_synced_at":"2025-04-11T21:08:05.206Z","repository":{"id":104265449,"uuid":"181040462","full_name":"Devzstudio/MERN-Snippets","owner":"Devzstudio","description":"💻🚀MongoDB, ExpressJS, ReactJS, NodeJs, Redux, Axios Snippets for VSCode","archived":false,"fork":false,"pushed_at":"2021-07-05T07:08:00.000Z","size":32,"stargazers_count":10,"open_issues_count":0,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T21:07:58.994Z","etag":null,"topics":["axios","expressjs","javascript","mongodb","mongoose","nodejs","reactjs","vscode-extension","vscode-snippet","vscode-snippets"],"latest_commit_sha":null,"homepage":"https://marketplace.visualstudio.com/items?itemName=devzstudio.mern-snippets","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Devzstudio.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://sendacoin.to/devzstudio","https://www.paypal.me/devzstudio"]}},"created_at":"2019-04-12T16:00:15.000Z","updated_at":"2025-03-27T19:13:44.000Z","dependencies_parsed_at":"2023-03-22T11:50:10.112Z","dependency_job_id":null,"html_url":"https://github.com/Devzstudio/MERN-Snippets","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devzstudio%2FMERN-Snippets","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devzstudio%2FMERN-Snippets/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devzstudio%2FMERN-Snippets/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Devzstudio%2FMERN-Snippets/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Devzstudio","download_url":"https://codeload.github.com/Devzstudio/MERN-Snippets/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248480433,"owners_count":21110937,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","expressjs","javascript","mongodb","mongoose","nodejs","reactjs","vscode-extension","vscode-snippet","vscode-snippets"],"created_at":"2024-11-14T20:19:23.992Z","updated_at":"2025-04-11T21:08:05.197Z","avatar_url":"https://github.com/Devzstudio.png","language":null,"funding_links":["https://sendacoin.to/devzstudio","https://www.paypal.me/devzstudio"],"categories":[],"sub_categories":[],"readme":"# MERN-Snippets 🤓\n\nMongoDB, ExpressJS, ReactJS \u0026 NodeJS Snippets to Boost the Productivity 🚀\nMERN Snippets include Redux, Axios Snippets 😎\n\n## Usage\n\n1. Install the extension\n2. You will get suggestion when you type the commands\n3. Hit Tab or Enter\n\n## Command\n\n## MongoDB\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eShortcut\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003cth\u003eOutput\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_mongoose\u003c/td\u003e\n\u003ctd\u003eRequire Mongoose\u003c/td\u003e\n\u003ctd\u003e\nconst mongoose = require(\"mongoose\");\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ekeys_conf\u003c/td\u003e\n\u003ctd\u003eMongo key Config\u003c/td\u003e\n\u003ctd\u003e\nmodule.exports = {\n  mongoURI:\n    \"\"\n};\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003edb.keys\u003c/td\u003e\n\u003ctd\u003eRequire Mongo Keys\u003c/td\u003e\n\u003ctd\u003e\nconst db = require(\"./config/keys\").mongoURI;\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003edb_connect\u003c/td\u003e\n\u003ctd\u003eMongoose Connect\u003c/td\u003e\n\u003ctd\u003e\nmongoose\n  .connect(db)\n  .then(() =\u003e console.log(\"💻 Mondodb Connected\"))\n  .catch(err =\u003e console.error(err));\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003edb.find\u003c/td\u003e\n\u003ctd\u003eMongoose find\u003c/td\u003e\n\u003ctd\u003e\nModel.find()\n    .then(item =\u003e res.json(item));\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003edb.save\u003c/td\u003e\n\u003ctd\u003eMongoose Save\u003c/td\u003e\n\u003ctd\u003e\nconst newItem = new Model({\n  item: req.body.data\n});\n\nnewItem.save().then(item =\u003e {\nres.json(item);\n});\u003c/td\u003e\n\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003edb.delete\u003c/td\u003e\n\u003ctd\u003eMongoose delete item\u003c/td\u003e\n\u003ctd\u003e\nModel.findById(req.params.id)\n    .then(item =\u003e item.remove().then(() =\u003e res.json({ success: true })))\n    .catch(err =\u003e {\n      res.status(400).json({ success: false });\n    });\n    \u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003edb.findone\u003c/td\u003e\n\u003ctd\u003eMongoose findOne\u003c/td\u003e\n\u003ctd\u003e\nUser.findOne({ email })\n    .then(user =\u003e{\n      \n    })\n   \u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003emongoose_schema\u003c/td\u003e\n\u003ctd\u003eDefine schema \u003c/td\u003e\n\u003ctd\u003e\nconst Schema = mongoose.Schema;\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003escheme_export\u003c/td\u003e\n\u003ctd\u003eExport mongo model\u003c/td\u003e\n\u003ctd\u003e\nmodule.exports = Item = mongoose.model(\"item\", itemSchema);\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003escheme\u003c/td\u003e\n\u003ctd\u003eMongo Schema Model Boilerplate \u003c/td\u003e\n\u003ctd\u003e\nconst mongoose = require(\"mongoose\");\nconst Schema = mongoose.Schema;\n\nconst itemSchema = new Schema({\nname: {\ntype: String,\nrequired: true\n}\n});\n\nmodule.exports = Item = mongoose.model(\"item\", itemSchema);\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eschema_date\u003c/td\u003e\n\u003ctd\u003eDate Type Schema \u003c/td\u003e\n\u003ctd\u003e\ndate: {\n    type: Date,\n    default: Date.now\n  }\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eschema_string\u003c/td\u003e\n\u003ctd\u003eString Type Schema \u003c/td\u003e\n\u003ctd\u003e\nemail: {\n    type: String,\n    required: true\n  },\n  \u003c/td\u003e\n \n\u003c/tr\u003e\n\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## ExpressJS\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eShortcut\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003cth\u003eOutput\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_express\u003c/td\u003e\n\u003ctd\u003eRequire Express\u003c/td\u003e\n\u003ctd\u003e\nconst express = require(\"express\");\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_bodyparser\u003c/td\u003e\n\u003ctd\u003eRequire BodyParser\u003c/td\u003e\n\u003ctd\u003e\nconst bodyParser = require(\"body-parser\");\n\u003c/td\u003e\n \n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003euse_bodyparser\u003c/td\u003e\n\u003ctd\u003eUse BodyParser\u003c/td\u003e\n\u003ctd\u003e\napp.use(bodyParser.json());\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003euse_cors\u003c/td\u003e\n\u003ctd\u003eUse CORS\u003c/td\u003e\n\u003ctd\u003e\napp.use(cors());\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eapp.listen\u003c/td\u003e\n\u003ctd\u003eExpress app.listen server and PORT\u003c/td\u003e\n\u003ctd\u003e\nconst port = process.env.PORT || 5000;\n\napp.listen(port, () =\u003e `Server running on port ${port} 🔥`);\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eapp.get\u003c/td\u003e\n\u003ctd\u003eExpress app.get\u003c/td\u003e\n\u003ctd\u003e\napp.get(\"/\", (req, res) =\u003e {\n  \n});\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eapp.post\u003c/td\u003e\n\u003ctd\u003eExpress app.post\u003c/td\u003e\n\u003ctd\u003e\napp.post(\"/\", (req, res) =\u003e {\n  \n});\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eexp_router\u003c/td\u003e\n\u003ctd\u003eExpress Router Include\u003c/td\u003e\n\u003ctd\u003e\nconst express = require(\"express\");\nconst router = express.Router();\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eroute_details\u003c/td\u003e\n\u003ctd\u003ePublic Route Comment\u003c/td\u003e\n\u003ctd\u003e\n/*\n    @route GET api/items\n    @desc Get all items\n    @access public\n*/\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eroute_details_private\u003c/td\u003e\n\u003ctd\u003ePrivate Route Comment\u003c/td\u003e\n\u003ctd\u003e\n/*\n    @route Private api/account\n    @desc Get account info\n    @access private\n*/\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003emod_exp\u003c/td\u003e\n\u003ctd\u003eModule Export\u003c/td\u003e\n\u003ctd\u003e\nmodule.exports = Router;\n\u003c/td\u003e\n\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003erouter.get\u003c/td\u003e\n\u003ctd\u003eGet Route\u003c/td\u003e\n\u003ctd\u003e\nrouter.get(\"/\", (req, res) =\u003e {\n  \n});\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003erouter.post\u003c/td\u003e\n\u003ctd\u003ePOST Route\u003c/td\u003e\n\u003ctd\u003e\nrouter.post(\"/\", (req, res) =\u003e {\n  \n});\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003erouter.delete\u003c/td\u003e\n\u003ctd\u003eDelete Route\u003c/td\u003e\n\u003ctd\u003e\nrouter.delete(\"/\", (req, res) =\u003e {\n  \n});\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eres.err\u003c/td\u003e\n\u003ctd\u003e400 Response\u003c/td\u003e\n\u003ctd\u003ereturn res.status(400).json({ message: 'Error' });\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eres.success\u003c/td\u003e\n\u003ctd\u003e200 Response\u003c/td\u003e\n\u003ctd\u003ereturn res.json({ message: 'Success' });\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq.des\u003c/td\u003e\n\u003ctd\u003eDestructure Request\u003c/td\u003e\n\u003ctd\u003econst {name} = req.body\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## Nodejs\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eShortcut\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003cth\u003eOutput\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eserver\u003c/td\u003e\n\u003ctd\u003eServer.js Boilerplate\u003c/td\u003e\n\u003ctd\u003e\nconst express = require(\"express\");\nconst mongoose = require(\"mongoose\");\nconst bodyParser = require(\"body-parser\");\n\nconst app = express();\n\napp.use(bodyParser.json());\n\nconst db = require(\"./config/keys\").mongoURI;\n\nmongoose\n.connect(db)\n.then(() =\u003e console.log(\"💻 Mondodb Connected\"))\n.catch(err =\u003e console.error(err));\n\napp.get(\"/\", (req, res) =\u003e {\nres.send(\"Server working 🔥\");\n});\n\nconst port = process.env.PORT || 5000;\n\napp.listen(port, () =\u003e `Server running on port port 🔥`);\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_path\u003c/td\u003e\n\u003ctd\u003eRequire Path\u003c/td\u003e\n\u003ctd\u003econst path = require(\"path\");\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_http\u003c/td\u003e\n\u003ctd\u003eRequire Http\u003c/td\u003e\n\u003ctd\u003econst http = require(\"http\");\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_fs\u003c/td\u003e\n\u003ctd\u003eRequire File Server\u003c/td\u003e\n\u003ctd\u003econst fs = require(\"fs\");\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_url\u003c/td\u003e\n\u003ctd\u003eRequire URL\u003c/td\u003e\n\u003ctd\u003econst url = require(\"url\");\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## ReactJS\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eShortcut\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003cth\u003eOutput\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp_react\u003c/td\u003e\n\u003ctd\u003eImport React\u003c/td\u003e\n\u003ctd\u003eimport React, { Component } from \"react\";\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp_store\u003c/td\u003e\n\u003ctd\u003eImport Store\u003c/td\u003e\n\u003ctd\u003eimport store from \"./store\";\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp_prop\u003c/td\u003e\n\u003ctd\u003eImport Prop Types\u003c/td\u003e\n\u003ctd\u003eimport PropTypes from \"prop-types\";\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp_csstrans\u003c/td\u003e\n\u003ctd\u003eImport CSSTransition \u0026 Transition Group\u003c/td\u003e\n\u003ctd\u003e\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp_provider\u003c/td\u003e\n\u003ctd\u003eImport Provider from React Redux\u003c/td\u003e\n\u003ctd\u003e\nimport { Provider } from \"react-redux\";\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ercc\u003c/td\u003e\n\u003ctd\u003eReact Class Component\u003c/td\u003e\n\u003ctd\u003e\nimport React, { Component } from \"react\";\n\nclass ExampleClass extends Component {\nrender() {\nreturn (\n\n\u003cdiv\u003e\nExample\n\u003c/div\u003e\n);\n}\n}\n\nexport default ExampleClass;\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## Redux\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eShortcut\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003cth\u003eOutput\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp_connect\u003c/td\u003e\n\u003ctd\u003eImport Connect\u003c/td\u003e\n\u003ctd\u003e\nimport { connect } from \"react-redux\";\n\u003c/td\u003e\n\u003c/tr\u003e\n \n\u003ctr\u003e\n\u003ctd\u003ereducer\u003c/td\u003e\n\u003ctd\u003eSample reducer\u003c/td\u003e\n\u003ctd\u003e\nexport default function(state = initialState, action) {\n  switch (action.type) {\n    case EXAMPLE:\n      return {\n        ...state,\n        action.payload\n      };\n     \n    default:\n      return state;\n  }\n}\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003estore\u003c/td\u003e\n\u003ctd\u003eStore Boilerplate\u003c/td\u003e\n\u003ctd\u003e\nimport { createStore, applyMiddleware, compose } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport rootReducer from \"./reducers\";\n\nconst initialState = {};\n\nconst middleware = [thunk];\n\nconst store = createStore(\nrootReducer,\ninitialState,\ncompose(\napplyMiddleware(...middleware),\nwindow.**REDUX_DEVTOOLS_EXTENSION** \u0026\u0026 window.**REDUX_DEVTOOLS_EXTENSION**()\n)\n);\n\nexport default store;\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eactions\u003c/td\u003e\n\u003ctd\u003eNew redux action\u003c/td\u003e\n\u003ctd\u003e\nexport const getItems = () =\u003e {\n  return {\n    type: GET_ITEMS\n  };\n};\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eactions_get\u003c/td\u003e\n\u003ctd\u003eCreate action with axios get\u003c/td\u003e\n\u003ctd\u003e\nexport const getItems = () =\u003e dispatch =\u003e {\n  dispatch(setItemsLoading());\n  axios.get(\"/api/items\").then(res =\u003e\n    dispatch({\n      type: GET_ITEMS,\n      payload: res.data\n    })\n  );\n};\n\u003c/td\u003e\n\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eactions_post\u003c/td\u003e\n\u003ctd\u003eCreate action with axios post\u003c/td\u003e\n\u003ctd\u003e\nexport const getItems = () =\u003e dispatch =\u003e {\n  dispatch(setItemsLoading());\n  axios.post(\"/api/add/items\").then(res =\u003e\n    dispatch({\n      type: ADD_ITEM,\n      payload: res.data\n    })\n  );\n};\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eactions_delete\u003c/td\u003e\n\u003ctd\u003eCreate action with axios delete\u003c/td\u003e\n\u003ctd\u003e\nexport const getItems = () =\u003e dispatch =\u003e {\n  dispatch(setItemsLoading());\n  axios.delete(\"/api/items/delete\").then(res =\u003e\n    dispatch({\n      type: DELETE_ITEM,\n      payload: res.data\n    })\n  );\n};\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eitemloading\u003c/td\u003e\n\u003ctd\u003eLoading action\u003c/td\u003e\n\u003ctd\u003e\nexport const setItemsLoading = () =\u003e {\n  return {\n    type: ITEMS_LOADING\n  };\n};\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003epayload\u003c/td\u003e\n\u003ctd\u003eShort for action.payload\u003c/td\u003e\n\u003ctd\u003e\naction.payload\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eexp_conn\u003c/td\u003e\n\u003ctd\u003eExport and wrap connect + mapStateToProps\u003c/td\u003e\n\u003ctd\u003e\nconst mapStateToProps = state =\u003e ({\n  items: state.item\n});\n\nexport default connect(\nmapStateToProps,\n{ getItems }\n)(ItemComponent);\n\n\u003c/td\u003e\n \n\u003c/tr\u003e\n\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## Axios\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eShortcut\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003cth\u003eOutput\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp_axios\u003c/td\u003e\n\u003ctd\u003eImport Axios\u003c/td\u003e\n\u003ctd\u003e\nimport axios from \"axios\";\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eaxios.get\u003c/td\u003e\n\u003ctd\u003eAxios Get Request\u003c/td\u003e\n\u003ctd\u003e\naxios\n  .get(\"/api\")\n  .then(res =\u003e res.data)\n  .catch(err =\u003e console.error(err));\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eaxios.post\u003c/td\u003e\n\u003ctd\u003eAxios Post Request\u003c/td\u003e\n\u003ctd\u003e\naxios\n  .post(\"/api\")\n  .then(res =\u003e res.data)\n  .catch(err =\u003e console.error(err));\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eaxios.delete\u003c/td\u003e\n\u003ctd\u003eAxios Delete Request\u003c/td\u003e\n\u003ctd\u003e\naxios\n  .delete(\"/api\")\n  .then(res =\u003e res.data)\n  .catch(err =\u003e console.error(err));\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## GraphQL\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eShortcut\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003cth\u003eOutput\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_graphqlhttp\u003c/td\u003e\n\u003ctd\u003eRequire graphqlHTTP Http\u003c/td\u003e\n\u003ctd\u003econst graphqlHTTP = require('express-graphql');\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp_apolloclient\u003c/td\u003e\n\u003ctd\u003eImport ApolloClient\u003c/td\u003e\n\u003ctd\u003eimport ApolloClient from 'apollo-boost';\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp_apolloprovider\u003c/td\u003e\n\u003ctd\u003eImport ApolloProvider\u003c/td\u003e\n\u003ctd\u003eimport { ApolloProvider } from 'react-apollo';\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## MISC\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eShortcut\u003c/th\u003e\n\u003cth\u003eDescription\u003c/th\u003e\n\u003cth\u003eOutput\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctbody\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eimp\u003c/td\u003e\n\u003ctd\u003eimport {val} from 'val'\u003c/td\u003e\n\u003ctd\u003eimport 'Item' from './Item'\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_cors\u003c/td\u003e\n\u003ctd\u003eRequire CORS\u003c/td\u003e\n\u003ctd\u003econst cors = require('cors');\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_bcryptjs\u003c/td\u003e\n\u003ctd\u003eRequire bcryptjs\u003c/td\u003e\n\u003ctd\u003econst bcrypt = require('bcryptjs')\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_jwt\u003c/td\u003e\n\u003ctd\u003eRequire Json Web Tokens\u003c/td\u003e\n\u003ctd\u003econst jwt = require('jsonwebtoken')\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ereq_config\u003c/td\u003e\n\u003ctd\u003eRequire config\u003c/td\u003e\n\u003ctd\u003econst config = require(\"config\");\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003efun\u003c/td\u003e\n\u003ctd\u003eES6 Arrow function\u003c/td\u003e\n\u003ctd\u003e\nclickHandler = (e) =\u003e {\n    \n};\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ecl\u003c/td\u003e\n\u003ctd\u003eConsole.log\u003c/td\u003e\n\u003ctd\u003e\n    console.log(`data`);\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ecer\u003c/td\u003e\n\u003ctd\u003eConsole.error\u003c/td\u003e\n\u003ctd\u003e\n    console.error(`data`);\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003eexd\u003c/td\u003e\n\u003ctd\u003eexport default\u003c/td\u003e\n\u003ctd\u003e\nexport default Item;\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003ctr\u003e\n\u003ctd\u003ebcrypt.salt\u003c/td\u003e\n\u003ctd\u003eGenerate salt\u003c/td\u003e\n\u003ctd\u003e\n    bcrypt.genSalt(10, (err, salt) =\u003e {\n      bcrypt.hash(newUser.password, salt, (err, hash) =\u003e {\n        if (err) throw err;\n        newUser.password = hash;\n        newUser.save().then(user =\u003e res.json(user));\n      });\n    });\n\u003c/td\u003e\n\u003c/tr\u003e\n\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## Changelog\n\n### 1.2.0\n\n- Added more snippets ⚡️\n- Updated Docs 📖\n\n### 1.0.0\n\nInitial release of MERN snippets\n\n**Enjoy!** 🎉🎊\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevzstudio%2Fmern-snippets","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevzstudio%2Fmern-snippets","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevzstudio%2Fmern-snippets/lists"}