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.