0% found this document useful (0 votes)
3 views5 pages

Fsd Assignment

The document provides an overview of Node.js web servers, highlighting their asynchronous handling of requests, making them suitable for high concurrency applications. It discusses various Node.js frameworks like Express.js, NestJS, and Fastify, each tailored for different project needs. Additionally, it explains the importance of npm for dependency management and Git for version control in software development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views5 pages

Fsd Assignment

The document provides an overview of Node.js web servers, highlighting their asynchronous handling of requests, making them suitable for high concurrency applications. It discusses various Node.js frameworks like Express.js, NestJS, and Fastify, each tailored for different project needs. Additionally, it explains the importance of npm for dependency management and Git for version control in software development.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

IT23015 FULL STACK DEVELOPMENT ASSIGNMENT

- Narendran S
​ ​ ​ ​ ​ ​ ​ ​ ​ 2023506125

[Link] Web Server


Overview

A [Link] web server is a backend program that listens for client requests over the internet
and responds with data, HTML, or JSON. Unlike traditional servers that create a new thread
for each request, [Link] handles all requests using a single thread and asynchronous
operations.

How a [Link] Web Server Actually Works

When a browser sends a request, [Link] does not wait for the task to finish. Instead, it
registers the request and continues handling others. Once the operation completes, a
callback or promise sends the response.

This makes [Link] especially suitable for applications where many users connect at the
same time.

Example Scenario

Consider an online exam portal where 500 students log in at once to view questions. A
traditional blocking server may slow down or crash. A [Link] server can handle all login
requests simultaneously without waiting for database responses one by one.

Practical Use Cases

●​ Real-time chat systems like WhatsApp Web​

●​ Live sports score updates​

●​ Streaming APIs like YouTube backend services​

●​ Online multiplayer games​

Benefits in Real Projects


●​ Faster response time under heavy load​

●​ Lower memory usage​

●​ Same language for frontend and backend​

●​ Easy integration with databases and APIs​

Conclusion

[Link] web servers are designed for high concurrency and real-time applications. This
makes them ideal for modern web platforms that serve thousands of users at the same time.

Frameworks of [Link]
Why Frameworks Exist

Writing a [Link] application from scratch requires handling routing, request parsing,
validation, and security manually. Frameworks provide structured solutions for these
problems and allow developers to focus on application logic.

[Link]

[Link] is a lightweight framework that gives developers full control.

Example Use Case

A college placement portal backend where routes like /students, /companies, and
/applications need to be created quickly.

Express allows:

●​ Simple API creation​

●​ Middleware for authentication​

●​ Easy integration with MongoDB or MySQL​

NestJS

NestJS is built for large, enterprise-level applications.

Example Use Case


A banking application backend where code structure, security, and scalability are critical.

NestJS provides:

●​ Modular architecture​

●​ Strong TypeScript support​

●​ Built-in dependency injection​

Fastify

Fastify focuses on performance and speed.

Example Use Case

A stock trading platform that receives thousands of price update requests per second.

Fastify ensures:

●​ Faster request handling​

●​ Low overhead​

●​ Schema-based validation​

Why Framework Choice Matters

Small projects need flexibility while large systems need structure. Choosing the right
framework impacts performance, maintainability, and development speed.

Conclusion

[Link] frameworks transform raw [Link] into powerful application platforms suited for
different project scales.

Packaging Using npm


What npm Solves

Modern applications depend on hundreds of external libraries. npm acts as a dependency


manager that installs, updates, and tracks these libraries efficiently.

Real-World Example
A weather app backend needs:

●​ Axios for API calls​

●​ Express for routing​

●​ dotenv for environment variables​

Instead of writing these from scratch, npm installs them in seconds.

Project Structure Impact

When a project grows, npm ensures all team members use the same package versions. This
avoids bugs caused by mismatched dependencies.

Development vs Production Dependencies

●​ Development dependencies are used for testing and debugging​

●​ Production dependencies are required when the app runs on a server​

Common Industry Use Case

In CI/CD pipelines, npm installs dependencies automatically before testing and deployment.

Why npm Is Critical

●​ Saves development time​

●​ Encourages reusable code​

●​ Maintains version consistency​

●​ Supports open-source collaboration​

Conclusion

npm is not just a package installer. It is the backbone of JavaScript project management.

Git
Purpose of Git in Software Development
Git records every change made to a project, allowing developers to revert, compare, and
collaborate without losing work.

Example Scenario

A team is building a food delivery app. One developer works on payment features while
another works on UI changes. Git allows both to work independently using branches and
later merge their work safely.

Key Concepts Through Example

●​ Branch: Create a new feature without affecting the main code​

●​ Commit: Save a stable version of work​

●​ Merge: Combine features after testing​

Real Use Case in Industry

Companies use Git with platforms like GitHub or GitLab to:

●​ Review code before merging​

●​ Track bugs and fixes​

●​ Maintain release versions​

Advantages Over Manual Backups

●​ Complete history of changes​

●​ Easy rollback to older versions​

●​ Supports teamwork across locations​

Conclusion

Git is essential for professional software development. It ensures code safety, collaboration,
and project stability.

You might also like