A personal Road Map To Back-end Web Development: Let's Learn Back-end

A personal Road Map To Back-end Web Development: Let's Learn Back-end

Table of contents

No heading

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:

  1. Node.js Fundamentals

    1. Basics of Node including event driven architecture and Node's Ecosystem
  2. Express.js Fundamentals:

    1. Basics of Express

    2. Understanding Routing, Middleware, Request Handling and Response Generation

    3. Understanding REST principles and including resources

    4. Practice building simple RESTful APIs

  3. MongoDB and NO-SQL Databases:

    1. Fundamentals of MongoDB and it's advantages as NO-SQL database

    2. Understanding CRUD operations with MongoDB

    3. Schema Designing

    4. Indexing and Aggregation

  4. Integration of MongoDB with Express :

    1. Understanding how to connect Express.js applications with MongoDB using native MongoDB drivers or Mongoose ORM (Object Document Mapper)

    2. Implementing CRUD operations and handling data validation.

  5. Authentication and Authorization:

    1. Understanding different authentication mechanisms like JWT(Json Web Tokens) , session-based authentication.

    2. Implementing user Registration, Login and Logout functionalities

    3. Exploring authorization techniques for controlling access to routes and resources.

  6. Error handling and Validation:

    1. Understanding error handling concepts and best practices in Express.js

    2. Implementing input validation and error handling mechanisms to ensure data integrity and security.

  7. Testing and Debugging:

    1. Understanding Unit tests and Integration using frameworks like "Mocha, chai & Jest"
  8. Deployment and DevOps (optional):

    1. Understanding deployment processes and considerations for deployment.

    2. Understanding containerization with Docker

    3. Understanding orchestration with kubertenes

    4. Understanding Continuous Integration/Continuous Deployment (CI/CD) pipelines

    5. Understanding CI/CD for automated testing and deployment

  9. Advanced Topics & Projects:

    1. Understanding Web Socket Communication

    2. GraphQL Integration

    3. Understanding Micro Service Architecture

    4. 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.