Learn
Backend
5 Weeks to Pro
JAVA MySQL
C++ </>
PHP
Day 1-3
Understand How The Web Works
Topic to Cover
Client-server architectur
Basics of HTT
IP Addressing, DN
Request Response Cycle
Resources
How the Web Work
Basics of HTT
Client Server Architectur
What is DNS? Domain Name System, DNS Server, and
IP Address Concepts Explained
Questions
Use a terminal command (such as nslookup or dig) to
look up the DNS records for a domain (e.g.,
www.example.com). Describe the information returned
by this command
Compare and contrast the security features and use
cases of HTTP and HTTPS
Discuss the key distinctions between IPv4 and IPv6
addressing, including their structure and benefits
Use the network tab in your browser's developer tools
to observe the HTTP requests and responses when
loading a webpage. What types of information can you
gather from this analysis
In a client-server architecture, how is data processing
typically divided between the client and the server?
Provide examples of tasks performed by each.
Day 4-7
HTML and CSS
Topic to Cover
Introduction to HTML tags and element
HTML document structur
CSS syntax and selector
Styling elements and layout
CSS Block Mode
Responsive design principles (Media Queries)
Resources
https://www.freecodecamp.org/news/html-css-
handbook-for-beginners
https://www.w3schools.com/html
https://www.w3schools.com/css
https://developer.mozilla.org/en-US/docs/Learn/CS
https://www.youtube.com/watch?v=G3e-cpL7ofc
Questions
Design an HTML layout for a basic blog article,
ensuring it contains a title, content sections, images,
and hyperlinks
Create a CSS rule to style all paragraph elements
inside a particular class and demonstrate a style you
might apply, such as changing the text color
Explain how to apply an inline style to an HTML
element and give an example, such as setting the
background color
Write a CSS selector that changes the text color to red
for all heading elements with a designated class
Explain the role of media queries in creating
responsive web designs. Provide an example of a
media query that applies to screens 600px wide or
smaller, setting the heading font size to 18px.
Day 8-11
Introduction to Back-end
Frameworks - Node.js
Topic to Cover
Setting up Node.js environmen
Modules in Node.j
Asynchronous Concept
Event loops, Callback
npm and Packages
Resources
https://nodejs.dev/en/learn
https://www.youtube.com/watch?v=TlB_eWDSMt
https://www.w3schools.com/nodejs/
Questions
What are the benefits of using a package manager
such as npm for Node.js development
Compare and contrast built-in Node.js modules with
third-party external modules
Write a JavaScript module that defines a function,
exports it using module. exports, and then
demonstrate how to import and use this function in a
separate file
Describe how callbacks function in Node.js and why
they are crucial for non-blocking I/O operations
Develop a Node.js script that uses the fs module to
read a file asynchronously, utilizing a callback to
process the file's contents
Outline the steps to search for, install, and manage
npm packages in a Node.js project.
Day 12-14
Relational Databases
Topic to Cover
Introduction to relational databases
Tables, rows, columns, and relationships.
Resources
https://www.oracle.com/in/database/what-is-a-
relational-database
https://cloud.google.com/learn/what-is-a-relational-
database
System Design — SQL vs NoSQL. Concepts and
considerations for SQL and… | by Larry | Peng Yang |
Computer Science Fundamentals | Mediu
How To Choose The Right Database
System Design Interview Prep: SQL vs NoSQL
Databases - Exponen
Databases: system design interview concepts (2 of 9)
Questions
Describe the principles of normalization in relational
databases and discuss the advantages and
disadvantages it offers
Contrast INNER JOIN, LEFT JOIN, and RIGHT JOIN
operations in SQL, highlighting their distinct
functionalities
Discuss the considerations and trade-offs involved in
choosing between a relational database and a NoSQL
database for a particular application scenario
Define a self-join in SQL and illustrate its usage with an
example query
Describe the significance of a primary key in relational
databases, highlighting its differences from a unique
key
Write an SQL query that utilizes an INNER JOIN to
retrieve customer information along with their
associated orders from two tables.
Day 15-17
Non-Relational Databases
(NoSQL)
Topic to Cover
Introduction to NoSQL databases
Types of NoSQL databases: Document-based, Key-
Value, Column-Family, and Graph
Schema flexibility in NoSQL databases.
Resources
What is NoSQL
NoSQL Databases: An Overvie
Introduction to NoSQL Database
CAP Theorem Explained
Questions
Outline the fundamental characteristics that
differentiate NoSQL databases from relational
databases
Explore the importance of schema flexibility in NoSQL
databases and offer an example to illustrate its
significance
Provide a practical scenario where a document-based
NoSQL database such as MongoDB would be a fitting
solution
Define eventual consistency in NoSQL databases and
elaborate on its significance in distributed systems
Describe sharding in NoSQL databases and its role in
enhancing scalability, along with a scenario where
sharding would be advantageous
Justify the selection of MongoDB as the database
system for a content management system supporting
articles with diverse structures, and offer a sample
schema design.
Day 18-21
Advanced Database Concepts
Topic to Cover
ACID Propertie
Database sharding and partitionin
Database indexin
Concurrency Control
Resources
ACID Properties in DBMS - GeeksforGeek
Database Sharding vs. Partitioning: What’s the
Difference
System Design — Sharding / Data Partitioning | by
Larry | Peng Yang | Computer Science Fundamentals |
Mediu
An in-depth look at Database Indexin
Concurrency Control in DBMS - GeeksforGeeks
Questions
Describe the ACID properties and their role in
maintaining data integrity within database
transactions
Explore the compromises between optimizing for
strong ACID properties and maximizing performance in
a database system
Explain the concepts of database sharding and
partitioning and their impact on scalability
Identify the important considerations when choosing a
sharding key for a database table
Contrast B-tree indexes and hash indexes, discussing
scenarios where each is preferable
Define deadlock, offer an example, and suggest
approaches to prevent or resolve deadlocks
Analyze the trade-offs between maintaining strong
ACID properties and optimizing performance in the
database of a high-traffic e-commerce site.
Day 21-24
REST API
Topic to Cover
HTTP Verb
Request and Response Forma
Statelessnes
Security and Authentication
Resources
https://www.restapitutorial.com
https://www.youtube.com/watch?v=lsMQRaeKND
https://www.geeksforgeeks.org/rest-api-introduction
https://rapidapi.com/learn/rest
Questions
Describe the roles of HTTP verbs (GET, POST, PUT,
DELETE) in the context of RESTful APIs
Develop a basic Express.js server featuring routes to
handle POST, PUT, and DELETE requests
Describe the components of an HTTP response,
including status codes and response bodies
Devise an API response format for a user registration
endpoint, including a success message and a user ID
Explore how statelessness enhances scalability and
simplicity in API design
Investigate API key authentication, covering key
generation, sending in requests, and server-side
validation
Differentiate between authentication and authorization
in the context of security systems.
Day 25-29
Websockets and WebHooks
Topic to Cover
Implementation of WebHook
Websocket protocol
Use cases
Resources
https://hookdeck.com/webhooks/guides/when-to-use-
webhooks#webhooks-or-pubsu
https://www.youtube.com/watch?v=6RvlKYgRFY
https://nonamesecurity.com/learn/api-vs-webhook-vs-
websocket/
Questions
Provide a scenario demonstrating when webhooks are
an appropriate communication solution
Discuss the typical methods employed by webhooks
for data transmission between services
Explain the mechanics of real-time data exchange in a
WebSocket-based application
Discuss the reasons why WebSockets could be
favored over webhooks for real-time document
collaboration.
Day 30-35
Websockets and WebHooks
Building a small project is an excellent way to learn
backend development as it allows you to apply your
knowledge in a practical context. Let's create a simple
project idea and provide content to help you get started.
Project Idea: Task Manager API
Project Description
Create a basic task manager API that allows users to
create, read, update, and delete tasks. Users should be
able to register, log in, and manage their tasks. This
project will cover fundamental backend development
concepts such as routing, database interaction,
authentication, and API endpoints.
Technologies to Use
For this project, you can use Node.js as the backend
runtime and
Day 30-31
Database and User Authentication
Setup: Create a new project directory and initialize it
with Node.js and npm
Server: Set up a basic Express.js server with a simple
"Hello World" route.
Database and User Authentication
Database: Install and configure MongoDB for local
development
User Authentication: Implement basic user
registration and login functionality with password
hashing.
Day 32-34
Task Management API
Task Model: Define a schema for tasks and set up a
MongoDB collection for tasks
API Endpoints: Create API endpoints for creating,
reading, updating, and deleting tasks
CRUD Operations: Implement basic CRUD operations
for tasks in your database.
User Tasks and Authorization
User-Specific Tasks: Ensure that tasks are associated
with the authenticated user
Authorization Middleware: Create middleware to
protect routes that require authentication.
Day 35
Deployment
Deploy your project to a hosting platform like
Heroku or AWS. Set up a production database
and configure environment variables.
Why
Bosscoder?
1000+ Alumni placed at Top
Product-based companies.
More than 136% hike for every
2 out of 3 working professional.
Average package of 24LPA.
Explore More