Table of contents
No headings in the article.
Since last few days, I have been feeling this urge to dive into the depths of back-end web development, however the problem being not understanding where to start from and what topics that needs to be studied and understood. After hours and hours of jumping from crash courses to signing up for multiple free boot-camps. I found my self stuck back at square one. As a last resort I asked a couple of my friends who are into this topic and they gave me a brief summary of all the topics that I need to learn, and some I felt like I should learn on the way.
Being familiar with javascript I chose to opted for the MERN (Mongoose, Express React ,Node). So this is what my roadmap or some might say the topics that I need to cover consists of:
Node.js Fundamentals
- Basics of Node including event driven architecture and Node's Ecosystem
Express.js Fundamentals:
Basics of Express
Understanding Routing, Middleware, Request Handling and Response Generation
Understanding REST principles and including resources
Practice building simple RESTful APIs
MongoDB and NO-SQL Databases:
Fundamentals of MongoDB and it's advantages as NO-SQL database
Understanding CRUD operations with MongoDB
Schema Designing
Indexing and Aggregation
Integration of MongoDB with Express :
Understanding how to connect Express.js applications with MongoDB using native MongoDB drivers or Mongoose ORM (Object Document Mapper)
Implementing CRUD operations and handling data validation.
Authentication and Authorization:
Understanding different authentication mechanisms like JWT(Json Web Tokens) , session-based authentication.
Implementing user Registration, Login and Logout functionalities
Exploring authorization techniques for controlling access to routes and resources.
Error handling and Validation:
Understanding error handling concepts and best practices in Express.js
Implementing input validation and error handling mechanisms to ensure data integrity and security.
Testing and Debugging:
- Understanding Unit tests and Integration using frameworks like "Mocha, chai & Jest"
Deployment and DevOps (optional):
Understanding deployment processes and considerations for deployment.
Understanding containerization with Docker
Understanding orchestration with kubertenes
Understanding Continuous Integration/Continuous Deployment (CI/CD) pipelines
Understanding CI/CD for automated testing and deployment
Advanced Topics & Projects:
Understanding Web Socket Communication
GraphQL Integration
Understanding Micro Service Architecture
And finally building Real World Applications using MERN stack.
There are quite other few topics that I want to learn as well such as Monitoring and logging and many more. However this feels like a milestone to achieve as a beginner. And as they say learning shall continue.
As for the resources I will be following along Hitesh Choudhary / Hitesh Choudhary youtube channel which is a hidden treasure in it self as well as other resources including freeCodeCamp Team and ebooks.
However if there's any suggestions that you want me to add to improve my journey or learning back-end kindly consider it and leave me a suggestion thinking of me as your younger self.
I would absolutely love to go through your suggestions and also I plan to keep on posting about my learning here. So let's get started with learning back-end.
PS: If anyone is interested in learning along with me kindly hit me up.