├── .gitignore ├── README.md ├── images └── nodejs-developer-roadmap.png └── src └── nodejs-developer-roadmap.xmind /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | ._* 3 | Thumbs.db 4 | *.sublime-project 5 | *.sublime-workspace 6 | .idea 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Node.js Developer Roadmap 2 | 3 | > Roadmap to becoming a Node.js Developer in 2024 4 | 5 | Below you can find a chart demonstrating the paths that you can take and the libraries that you would want to learn to become a Node.js developer. I made this chart as a tip for everyone who asks me, "What should I learn next as a Node.js developer?" 6 | 7 | ## Disclaimer 8 | 9 | > The purpose of this roadmap is to give you an idea about the landscape. The road map will guide you if you are confused about what to learn next, rather than encouraging you to pick what is hip and trendy. You should grow some understanding of why one tool would be better suited for some cases than the other and remember hip and trendy does not always mean best suited for the job 10 | 11 | ## Give a Star! :star: 12 | 13 | If you like or are using this project to learn or start your solution, please give it a star. Thanks! 14 | 15 | ## Roadmap 16 | 17 | ![Roadmap](./images/nodejs-developer-roadmap.png) 18 | 19 | ## Resources 20 | 21 | 1. IDEs 22 | 23 | - [visualstudioCode](https://code.visualstudio.com/Download) 24 | 25 | 2. JavaScript 26 | 27 | _Basic_ 28 | 29 | - [w3schools](https://www.w3schools.com/js/default.asp) JavaScript Tutorial 30 | - [developer.mozilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript) JavaScript 31 | - [javascript.info](https://javascript.info/) The Modern JavaScript Tutorial 32 | - [htmlcheatsheet](https://htmlcheatsheet.com/js/) JS CheatSheet 33 | 34 | _es6_ 35 | 36 | - [exploringjs](https://exploringjs.com/es6/index.html) Exploring ES6 37 | - [es6-features](http://es6-features.org/#Constants) ECMAScript 6 — New Features: Overview & Comparison 38 | - [jsfeatures](https://jsfeatures.in) jsfeatures 39 | - [babeljs](https://babeljs.io/docs/en/learn) Learn ES2015 40 | - [github](https://github.com/lukehoban/es6features) ECMAScript 6 41 | - [github](https://github.com/sudheerj/ECMAScript-features) ECMAScript 6 42 | 43 | _Style Guide_ 44 | 45 | - [github](https://github.com/airbnb/javascript) Airbnb JavaScript Style Guide 46 | - [github](https://github.com/ryanmcdermott/clean-code-javascript) clean-code-javascript 47 | - [w3schools](https://www.w3schools.com/js/js_conventions.asp) js_conventions 48 | 49 | _playground_ 50 | 51 | - [js-array-playground](https://js-array-playground.firebaseapp.com/) JavaScript Array Playground 52 | - [jsfiddle](https://jsfiddle.net/) 53 | - [plnkr](https://plnkr.co/) 54 | - [jsbin](https://jsbin.com/?html,output) 55 | - [codepen](https://codepen.io/pen/) 56 | - [stackblitz](https://stackblitz.com/) 57 | 58 | 3. Build Tools 59 | 60 | - Package Managers 61 | - [npm](https://www.npmjs.com/) 62 | - [yarn](https://yarnpkg.com/lang/en/) 63 | - [pnpm](https://pnpm.js.org/) 64 | - Task Runners 65 | 66 | - [nodemon](https://www.npmjs.com/package/nodemon) 67 | - [pm2](https://pm2.keymetrics.io/) 68 | - [gulp](https://gulpjs.com/) 69 | - [grunt](https://gruntjs.com/) 70 | - [LiveReload](https://gruntjs.com/) 71 | - [forever](https://gruntjs.com/) 72 | 73 | - Module Bundlers 74 | - [Webpack](https://webpack.js.org/) 75 | - [Bazel](https://bazel.build/) 76 | - [Rollup](https://rollupjs.org/guide/en) 77 | - [Browserify](http://browserify.org/) 78 | - [FuseBox](https://fuse-box.org/) 79 | 80 | 4. Web Frameworks 81 | 82 | - [Express.js](https://expressjs.com/) 83 | - [Adonis.js](https://adonisjs.com/) 84 | - [Meteor.js](https://www.meteor.com/) 85 | - [Nest.js](https://nestjs.com/) 86 | - [Sails.js](https://sailsjs.com/) 87 | - [Koa.js](https://koajs.com/) 88 | - [Loopback.io](https://loopback.io/) 89 | - [egg.js](https://eggjs.org/en/index.html) 90 | - [midway](https://midwayjs.org/midway/en/) 91 | 92 | 5. API Clients 93 | 94 | - REST 95 | - [SuperAgent](https://visionmedia.github.io/superagent/) 96 | - [axios](https://github.com/axios/axios) 97 | - GraphQL 98 | - [Apollo](https://www.apollographql.com/docs/react/) 99 | - [Relay](https://facebook.github.io/relay/) 100 | - [urql](https://github.com/FormidableLabs/urql) 101 | 102 | 6. Real-Time Communication 103 | 104 | - [Socket.IO](https://socket.io/) 105 | 106 | 7. MicroServices 107 | 108 | - Message-Broker 109 | - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html) 110 | - [Apache Kafka](https://www.npmjs.com/package/kafka-node) 111 | - [ActiveMQ](https://github.com/apache/activemq) 112 | - [Azure Service Bus](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview) 113 | - Message-Bus 114 | - [Distribus](https://distribus.com/) 115 | - [BusMQ](https://github.com/capriza/node-busmq) 116 | 117 | 8. Task Scheduling 118 | 119 | - [Agenda](https://github.com/agenda/agenda) 120 | - [Cronicle](https://github.com/jhuckaby/Cronicle) 121 | - [Node-Schedule](https://www.npmjs.com/package/node-schedule) 122 | 123 | 9. ORM 124 | 125 | - [sequelize](https://sequelize.org/) Sequelize is a promise-based Node-js ORM that is compatible with Maria DB, Postgress, MySQL, SQLite, and Microsoft SQL 126 | - [Mongoose](https://mongoosejs.com/) mongodb object modeling for node.js 127 | - [knex](https://www.npmjs.com/package/knex) A query builder for PostgreSQL, MySQL, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use. 128 | - [typeorm](https://www.npmjs.com/package/typeorm) ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, SAP Hana, WebSQL databases. Works in NodeJS, Browser, Ionic, Cordova and Electron platforms. 129 | 130 | 10. Databases 131 | 132 | 1. Relational 133 | - [PostgreSQL](https://www.postgresql.org) 134 | - [MySQL](https://www.mysql.com) 135 | - [MariaDB](https://mariadb.org) 136 | - [SQL Server](https://www.microsoft.com/sql-server/sql-server-2019) 137 | - [Oracle](https://www.oracle.com/database/technologies/oracle-database-software-downloads.html) 138 | 2. Cloud Databases 139 | - [CosmosDB](https://docs.microsoft.com/azure/cosmos-db) 140 | - [DynamoDB](https://aws.amazon.com/dynamodb) 141 | 3. NoSQL 142 | - [Redis](https://redis.io) 143 | - [MongoDB](https://docs.microsoft.com/aspnet/core/tutorials/first-mongo-app) 144 | - [Apache Cassandra](http://cassandra.apache.org) 145 | - [LiteDB](https://github.com/mbdavid/LiteDB) 146 | - [RavenDB](https://github.com/ravendb/ravendb) 147 | - [CouchDB](http://couchdb.apache.org) 148 | 149 | 11. Security Libraries 150 | 151 | - [bcryptjs](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/) 152 | - [cors](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/) 153 | - [jsonwebtoken](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/) 154 | - [express-jwt](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/) 155 | - [joi](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/) 156 | - [Passport JS](http://www.passportjs.org/) 157 | - [Auth0](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/) 158 | - [nodemailer](http://www.passportjs.org/) 159 | 160 | 12. Utility Libraries 161 | 162 | - [JSHint](https://github.com/jshint/jshint) 163 | - [commander](https://github.com/tj/commander.js/) 164 | - [Async.js](https://caolan.github.io/async/) 165 | - [Lodash](https://lodash.com/) 166 | - [Moment](https://momentjs.com/) 167 | - [classnames](https://github.com/JedWatson/classnames) 168 | - [Numeral](http://numeraljs.com/) 169 | - [ImmutableJS](https://facebook.github.io/immutable-js/) 170 | - [Ramda](https://ramdajs.com/) 171 | 172 | 13. Type Checkers 173 | 174 | - [PropTypes](https://reactjs.org/docs/typechecking-with-proptypes.html) 175 | - [TypeScript](https://www.typescriptlang.org/) 176 | - [Flow](https://flow.org/en/) 177 | 178 | 14. Logging 179 | 180 | - Log Frameworks 181 | - [Node-Loggly](https://www.loggly.com/docs/node-js-logs-2/) 182 | - [Winston](https://github.com/winstonjs/winston) 183 | - [Node-Bunyan](https://github.com/trentm/node-bunyan) 184 | - [Morgan](https://github.com/expressjs/morgan) 185 | - Log Management System 186 | - [Sentry.io](http://sentry.io/), 187 | - [Loggly.com](https://loggly.com/) 188 | 189 | 15. Testing 190 | 191 | - Unit Testing 192 | - [Jest](https://facebook.github.io/jest/) 193 | - [Enzyme](http://airbnb.io/enzyme/) 194 | - [Sinon](http://sinonjs.org/) 195 | - [Mocha](https://mochajs.org/) 196 | - [Chai](http://www.chaijs.com/) 197 | - [AVA](https://github.com/avajs/ava) 198 | - [Tape](https://github.com/substack/tape) 199 | - End to End Testing 200 | - [Selenium](https://www.seleniumhq.org/), 201 | - [Webdriver](http://webdriver.io/) 202 | - [Cypress](https://cypress.io/) 203 | - [Puppeteer](https://pptr.dev/) 204 | - [Cucumber.js](https://github.com/cucumber/cucumber-js) 205 | - [Nightwatch.js](http://nightwatchjs.org/) 206 | - Integration Testing 207 | - [Karma](https://karma-runner.github.io/) 208 | 209 | ## Contribution 210 | 211 | If you want to contribute to this project to make it more helpful for other Node.js developers, your help is very welcome! 212 | 213 | Just file an issue, better yet: submit a PR! 🙂 214 | -------------------------------------------------------------------------------- /images/nodejs-developer-roadmap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifaustcse/nodejs-developer-roadmap/9b46098ab190afe4124a2aaca94eadd38273206f/images/nodejs-developer-roadmap.png -------------------------------------------------------------------------------- /src/nodejs-developer-roadmap.xmind: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/saifaustcse/nodejs-developer-roadmap/9b46098ab190afe4124a2aaca94eadd38273206f/src/nodejs-developer-roadmap.xmind --------------------------------------------------------------------------------