{"id":20453520,"url":"https://github.com/saifaustcse/nodejs-developer-roadmap","last_synced_at":"2025-04-06T06:13:55.017Z","repository":{"id":49821978,"uuid":"415230639","full_name":"saifaustcse/nodejs-developer-roadmap","owner":"saifaustcse","description":"A roadmap to becoming a Node.js developer","archived":false,"fork":false,"pushed_at":"2024-03-06T04:26:52.000Z","size":3417,"stargazers_count":356,"open_issues_count":0,"forks_count":54,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-30T05:07:34.281Z","etag":null,"topics":["developer-roadmap","nodejs","nodejs-developer-roadmap","nodejs-roadmap","roadmap"],"latest_commit_sha":null,"homepage":"","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/saifaustcse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2021-10-09T07:03:35.000Z","updated_at":"2025-03-29T13:55:00.000Z","dependencies_parsed_at":"2025-01-28T19:10:53.064Z","dependency_job_id":"d7160d16-2c04-462c-911a-65e843c9e310","html_url":"https://github.com/saifaustcse/nodejs-developer-roadmap","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/saifaustcse%2Fnodejs-developer-roadmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saifaustcse%2Fnodejs-developer-roadmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saifaustcse%2Fnodejs-developer-roadmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saifaustcse%2Fnodejs-developer-roadmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saifaustcse","download_url":"https://codeload.github.com/saifaustcse/nodejs-developer-roadmap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247441062,"owners_count":20939239,"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":["developer-roadmap","nodejs","nodejs-developer-roadmap","nodejs-roadmap","roadmap"],"created_at":"2024-11-15T11:13:02.492Z","updated_at":"2025-04-06T06:13:54.998Z","avatar_url":"https://github.com/saifaustcse.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Node.js Developer Roadmap\n\n\u003e Roadmap to becoming a Node.js Developer in 2024\n\nBelow 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?\"\n\n## Disclaimer\n\n\u003e 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\n\n## Give a Star! :star:\n\nIf you like or are using this project to learn or start your solution, please give it a star. Thanks!\n\n## Roadmap\n\n![Roadmap](./images/nodejs-developer-roadmap.png)\n\n## Resources\n\n1. IDEs\n\n   - [visualstudioCode](https://code.visualstudio.com/Download)\n\n2. JavaScript\n\n   _Basic_\n\n   - [w3schools](https://www.w3schools.com/js/default.asp) JavaScript Tutorial\n   - [developer.mozilla](https://developer.mozilla.org/en-US/docs/Web/JavaScript) JavaScript\n   - [javascript.info](https://javascript.info/) The Modern JavaScript Tutorial\n   - [htmlcheatsheet](https://htmlcheatsheet.com/js/) JS CheatSheet\n\n   _es6_\n\n   - [exploringjs](https://exploringjs.com/es6/index.html) Exploring ES6\n   - [es6-features](http://es6-features.org/#Constants) ECMAScript 6 — New Features: Overview \u0026 Comparison\n   - [jsfeatures](https://jsfeatures.in) jsfeatures\n   - [babeljs](https://babeljs.io/docs/en/learn) Learn ES2015\n   - [github](https://github.com/lukehoban/es6features) ECMAScript 6\n   - [github](https://github.com/sudheerj/ECMAScript-features) ECMAScript 6\n\n   _Style Guide_\n\n   - [github](https://github.com/airbnb/javascript) Airbnb JavaScript Style Guide\n   - [github](https://github.com/ryanmcdermott/clean-code-javascript) clean-code-javascript\n   - [w3schools](https://www.w3schools.com/js/js_conventions.asp) js_conventions\n\n   _playground_\n\n   - [js-array-playground](https://js-array-playground.firebaseapp.com/) JavaScript Array Playground\n   - [jsfiddle](https://jsfiddle.net/)\n   - [plnkr](https://plnkr.co/)\n   - [jsbin](https://jsbin.com/?html,output)\n   - [codepen](https://codepen.io/pen/)\n   - [stackblitz](https://stackblitz.com/)\n\n3. Build Tools\n\n   - Package Managers\n     - [npm](https://www.npmjs.com/)\n     - [yarn](https://yarnpkg.com/lang/en/)\n     - [pnpm](https://pnpm.js.org/)\n   - Task Runners\n\n     - [nodemon](https://www.npmjs.com/package/nodemon)\n     - [pm2](https://pm2.keymetrics.io/)\n     - [gulp](https://gulpjs.com/)\n     - [grunt](https://gruntjs.com/)\n     - [LiveReload](https://gruntjs.com/)\n     - [forever](https://gruntjs.com/)\n\n   - Module Bundlers\n     - [Webpack](https://webpack.js.org/)\n     - [Bazel](https://bazel.build/)\n     - [Rollup](https://rollupjs.org/guide/en)\n     - [Browserify](http://browserify.org/)\n     - [FuseBox](https://fuse-box.org/)\n\n4. Web Frameworks\n\n   - [Express.js](https://expressjs.com/)\n   - [Adonis.js](https://adonisjs.com/)\n   - [Meteor.js](https://www.meteor.com/)\n   - [Nest.js](https://nestjs.com/)\n   - [Sails.js](https://sailsjs.com/)\n   - [Koa.js](https://koajs.com/)\n   - [Loopback.io](https://loopback.io/)\n   - [egg.js](https://eggjs.org/en/index.html)\n   - [midway](https://midwayjs.org/midway/en/)\n\n5. API Clients\n\n   - REST\n     - [SuperAgent](https://visionmedia.github.io/superagent/)\n     - [axios](https://github.com/axios/axios)\n   - GraphQL\n     - [Apollo](https://www.apollographql.com/docs/react/)\n     - [Relay](https://facebook.github.io/relay/)\n     - [urql](https://github.com/FormidableLabs/urql)\n\n6. Real-Time Communication\n\n   - [Socket.IO](https://socket.io/)\n\n7. MicroServices\n\n   - Message-Broker\n     - [RabbitMQ](https://www.rabbitmq.com/tutorials/tutorial-one-javascript.html)\n     - [Apache Kafka](https://www.npmjs.com/package/kafka-node)\n     - [ActiveMQ](https://github.com/apache/activemq)\n     - [Azure Service Bus](https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-overview)\n   - Message-Bus\n     - [Distribus](https://distribus.com/)\n     - [BusMQ](https://github.com/capriza/node-busmq)\n\n8. Task Scheduling\n\n   - [Agenda](https://github.com/agenda/agenda)\n   - [Cronicle](https://github.com/jhuckaby/Cronicle)\n   - [Node-Schedule](https://www.npmjs.com/package/node-schedule)\n\n9. ORM\n\n   - [sequelize](https://sequelize.org/) Sequelize is a promise-based Node-js ORM that is compatible with Maria DB, Postgress, MySQL, SQLite, and Microsoft SQL\n   - [Mongoose](https://mongoosejs.com/) mongodb object modeling for node.js\n   - [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.\n   - [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.\n\n10. Databases\n\n    1. Relational\n       - [PostgreSQL](https://www.postgresql.org)\n       - [MySQL](https://www.mysql.com)\n       - [MariaDB](https://mariadb.org)\n       - [SQL Server](https://www.microsoft.com/sql-server/sql-server-2019)\n       - [Oracle](https://www.oracle.com/database/technologies/oracle-database-software-downloads.html)\n    2. Cloud Databases\n       - [CosmosDB](https://docs.microsoft.com/azure/cosmos-db)\n       - [DynamoDB](https://aws.amazon.com/dynamodb)\n    3. NoSQL\n       - [Redis](https://redis.io)\n       - [MongoDB](https://docs.microsoft.com/aspnet/core/tutorials/first-mongo-app)\n       - [Apache Cassandra](http://cassandra.apache.org)\n       - [LiteDB](https://github.com/mbdavid/LiteDB)\n       - [RavenDB](https://github.com/ravendb/ravendb)\n       - [CouchDB](http://couchdb.apache.org)\n\n11. Security Libraries\n\n    - [bcryptjs](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/)\n    - [cors](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/)\n    - [jsonwebtoken](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/)\n    - [express-jwt](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/)\n    - [joi](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/)\n    - [Passport JS](http://www.passportjs.org/)\n    - [Auth0](https://auth0.com/blog/complete-guide-to-nodejs-express-user-authentication/)\n    - [nodemailer](http://www.passportjs.org/)\n\n12. Utility Libraries\n\n    - [JSHint](https://github.com/jshint/jshint)\n    - [commander](https://github.com/tj/commander.js/)\n    - [Async.js](https://caolan.github.io/async/)\n    - [Lodash](https://lodash.com/)\n    - [Moment](https://momentjs.com/)\n    - [classnames](https://github.com/JedWatson/classnames)\n    - [Numeral](http://numeraljs.com/)\n    - [ImmutableJS](https://facebook.github.io/immutable-js/)\n    - [Ramda](https://ramdajs.com/)\n\n13. Type Checkers\n\n- [PropTypes](https://reactjs.org/docs/typechecking-with-proptypes.html)\n- [TypeScript](https://www.typescriptlang.org/)\n- [Flow](https://flow.org/en/)\n\n14. Logging\n\n    - Log Frameworks\n      - [Node-Loggly](https://www.loggly.com/docs/node-js-logs-2/)\n      - [Winston](https://github.com/winstonjs/winston)\n      - [Node-Bunyan](https://github.com/trentm/node-bunyan)\n      - [Morgan](https://github.com/expressjs/morgan)\n    - Log Management System\n      - [Sentry.io](http://sentry.io/),\n      - [Loggly.com](https://loggly.com/)\n\n15. Testing\n\n    - Unit Testing\n      - [Jest](https://facebook.github.io/jest/)\n      - [Enzyme](http://airbnb.io/enzyme/)\n      - [Sinon](http://sinonjs.org/)\n      - [Mocha](https://mochajs.org/)\n      - [Chai](http://www.chaijs.com/)\n      - [AVA](https://github.com/avajs/ava)\n      - [Tape](https://github.com/substack/tape)\n    - End to End Testing\n      - [Selenium](https://www.seleniumhq.org/),\n      - [Webdriver](http://webdriver.io/)\n      - [Cypress](https://cypress.io/)\n      - [Puppeteer](https://pptr.dev/)\n      - [Cucumber.js](https://github.com/cucumber/cucumber-js)\n      - [Nightwatch.js](http://nightwatchjs.org/)\n    - Integration Testing\n      - [Karma](https://karma-runner.github.io/)\n\n## Contribution\n\nIf you want to contribute to this project to make it more helpful for other Node.js developers, your help is very welcome!\n\nJust file an issue, better yet: submit a PR! 🙂\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaifaustcse%2Fnodejs-developer-roadmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaifaustcse%2Fnodejs-developer-roadmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaifaustcse%2Fnodejs-developer-roadmap/lists"}