report
report
SUMMER INTERNSHIP - 2
1
ABOUT INTERNSHIP
Internship Overview
2
CONFORMATION LETTER
3
CERTIFICATE
4
MODULES
FULL STACK WEB DEVELOPMENT USING
MERN STACK (PROJECT-BASED)
MODULES TOPICS
1 Introduction to NODEJS Application
Introduction to NODE.JS
Asynchronous JavaScript Concept
The importance of being asynchronous Introduction to setting up a
Node.jsEnvironment Run your first NODE.JS Application
The Node.js process Working in REPLNode JS Console
2 File System& File Streaming Working with built-inmodule Concept of File
System Module ReadingDirectories
Reading Files
Working with Streams
Readable stream & Writable stream
3 Building servers
Creating servers with HTTP Receiving data
Handling GET, POST, PUT, and DELETE requests Sending requestsHTTP
streaming Working with TCP
Working with Pipes
Deals with JSON Data.
4 Building APIs using modules, events, and packagesWhat is NPM
Installing Packages Locally
Adding dependency in package.json Installing packagesglobally
Updating packages The EventEmitter APICommonJS Modulesnpm Packages
(nodemon command,npm install command etc)
5 Introduction to ExpressJS
Introduction to using the Express framework to set up a web server Routes,
rendering,layouts, URL building, express servers Configuration
Views
Middlewares
6 Installation of Mongo Database
7 Store data with Mongoose and MongoDB. Mongo DB connection withExpressJs
framework.
8 Mongo DB
Querying with Mongoose
9 MongoDB CRUD operation using Express
Introduction to setting up a MongoDB database and connecting it to a Node.js
serverSample CRUD(Create,Read,Update,Delete ) operation in NODE.JS
10 Authentication With Passport and JWT
Stateful vs. Stateless Authentication OAuth2Passport
JWT – JSON Web Tokens
11 Advanced Topics Node.js API designError Handling
Debugging Testing
12 Introduction to ReactJS
Introduction
Downloading and Installing ReactJS Understanding VirtualDOM
Components in ReactJS
INDUSTRIAL TRAINING AND INTERNSHIPS 2024
Rendering data in ReactJS
Applying CSS class and HTML content in the ReactJS Componentlifecycle and
state
Understanding the state of React
Creating multiple components in ReactJs Creating reusablecomponents.
5
MODULES
MODULES TOPICS
14 Properties and Events Working with propertiesAccessing Child properties
Understanding events in ReactJSExploring static methods
15 Forms Components
Working with Forms in ReactJS
16 Accessing DOM
Referring DOM nodes
17 Tooling Support
Converting JSX to JS
Using Gulp To compile and concatenate JSX files - I
Using Gulp To compile and concatenate JSX files (Using Browserify) – II
Component CommunicationWorking with jQuery – Ajax DOM Event Listeners
Inline Styles in ReactJS
Using dangerously SetInnerHTMLMajor AddOns in React
Two-Way Data Binding
Clone Elements - [cloneWithProps Deprecated - Use React.cloneElement
insteadUsing React.cloneElement
Making use of classSet to apply Conditional Styles Making use of class names
to apply conditionalstyling Animation using CSS Transition
6
INTRODUCTON
This Internship Was Conducted As Part Of My Academic Curriculum
In The 5th Semester Of My Engineering Course. The Internship Was
Held At The Academy Of Skill Development (Asd), Kolkata. During
This Period, I Gained Practical Exposure To Various Web
Development Technologies, Including Reactjs, Node.Js, Expressjs,
Mongodb, And More. Under The Guidance Of Mr. Ashraf Ali, I
Learned Both Front-End And Back-End Web Development Concepts,
Which Helped Me Enhance My Skills And Broaden My Knowledge In
Full-Stack Development.
7
OBJECTIVES
Gain Hands-On Experience In Web Development Frameworks Like
Reactjs And Node.Js.
Understand How To Create Web Applications Using Front-End And
Back-End Technologies.
Learn About Asynchronous Javascript, Building Apis, And Working
With Databases.
Understand Various Authentication Methods, Including Passport
And Jwt.
8
Table Of Contents
Date Topic
5-8-2024 Overview of Web Development,
Introduction to HTML, CSS,
Bootstrap, JavaScript, ReactJS
6-8-2024 Introduction to NODEJS
Application, Asynchronous
JavaScript, First NODEJS
Application
07-8-2024 Introduction to React Router,
Working with Links, Nested
Routes
08-8-2024 File System and File Streaming,
Working with the File System
Module
12-8-2024 Properties and Events in
ReactJS, Understanding Events
and Static Methods
13-8-2024 ReactJS Components, Lifecycle,
State, Reusable Components,
Forms with Chakra UI and MUI
14-8-2024 Conditional Styles, classNames,
CSS Transitions, Two-Way Data
Binding
20-8-2024 Building Servers with HTTP,
Handling GET, POST, PUT,
DELETE requests, TCP Streaming
21-8-2024 Working with Arrays in React.js,
Fetching and Filtering Data
22-8-2024 Building APIs with Modules,
NPM, Installing Packages,
EventEmitter API
26-8-2024 Introduction to ExpressJS
Framework, Setting up a Web
Server, Middleware
27-8-2024 Installation of MongoDB, CRUD
Operations with Mongoose and
MongoDB
28-8-2024 Authentication with Passport
and JWT, OAuth2
29-8-2024 Node.js API Design, Error
Handling, Testing, Project
Presentation
2-9-2024 Final Report and Conclusion
9
TOPICS COVERED
S 10
TOPICS COVERED
S 11
SKILLS
Reactjs : Building Interactive Uis, State Management, And Handling User Input.
Node.Js & Expressjs: Setting Up Servers, Working With Apis, And Handling
Requests.
Mongodb & Mongoose : Storing And Managing Data, Performing Crud
Operations.
Authentication : Implementing Passport And Jwt For Secure User Authentication.
Web Development : Creating Full-Stack Applications Using Front-End And Back-
End Technologies.
12
CHALLENGES
Challenges Faced
13
PROJECT
14
PROJECT
15
PROJECT
16
PROJECT
17
PROJECT
18
PROJECT
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap CSS -->
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
crossorigin="anonymous">
.navbar a {
color: white;
text-decoration: none;
margin: 0 15px;
font-size: 1.1rem;
transition: color 0.3s ease;
}
.navbar a:hover {
color: #f1f1f1;
}
.search-bar input {
padding: 7px;
border-radius: 5px;
border: none;
outline: none;
}
.search-bar input[type="text"] {
19
PROJECT
width: 150px;
}
.search-results {
display: none;
position: absolute;
background-color: white;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
width: 200px;
margin-top: 5px;
}
.search-results a {
display: block;
padding: 10px;
color: #333;
text-decoration: none;
}
.search-results a:hover {
background-color: #f1f1f1;
}
.hero-section h1 {
font-size: 4rem;
margin: 0;
text-shadow: 2px 2px 8px rgba(0, 0, 0, 0.7);
}
.hero-section p {
font-size: 1.5rem;
margin-top: 20px;
max-width: 800px;
text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.7);
}
/* Carousel Section */
.carousel-section {
20
PROJECT
padding: 50px 0;
background-color: #f9f9f9;
}
.carousel {
max-width: 100%;
overflow: hidden;
position: relative;
margin: 0 auto;
}
.carousel-images {
display: flex;
transition: transform 0.5s ease-in-out;
}
.carousel-images img {
width: 100vw;
height: 500px;
object-fit: cover;
}
.carousel-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
background-color: rgba(0, 0, 0, 0.5);
color: white;
border: none;
padding: 10px;
cursor: pointer;
z-index: 10;
}
.carousel-btn.left {
left: 10px;
}
.carousel-btn.right {
right: 10px;
}
/* Footer */
footer {
text-align: center;
padding: 20px;
background-color: rgba(74, 144, 226, 0.8);
color: white;
}
.hero-section h1 {
21
PROJECT
font-size: 3rem;
}
.hero-section p {
font-size: 1.2rem;
}
.carousel-images img {
height: 300px;
}
}
</style>
</head>
<body>
22
PROJECT
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
<div class="card">
<img class="card-img-top" src="/img/html.jpg" alt="Card image cap" style="width: 20%; height:
50%;">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div> -->
<!-- </div>
<div class="card-group">
<div class="card">
<img class="card-img-top" src="/img/Python.png" alt="Card image cap" style="width: 20%;
height: 50%;">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div>
<div class="card"></div>
<img class="card-img-top" src="/img/JavaScript-logo.png" alt="Card image cap" style="width:
20%; height: 50%;">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<div class="card-body">
<h5 class="card-title">Special title treatment</h5>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
</div> -->
23
PROJECT
<div class="card" style="text-align: center;">
<img class="card-img-top" src="/img/js2.png" alt="Card image cap"
style="width: 50%; height: 70%;margin-top: 10px; padding-left: 50px;">
<div class="card-body">
<a href="java.html" class="btn btn-primary">Start Quiz</a>
</div>
</div>
</div>
<div style="text-align: center; margin: 10px;">
<a href="all.html" class="btn btn-primary">View More</a>
<script>
const carouselImages = document.getElementById('carouselImages');
const prevBtn = document.getElementById('prevBtn');
const nextBtn = document.getElementById('nextBtn');
let index = 0;
const totalImages = carouselImages.children.length;
nextBtn.addEventListener('click', () => {
index = (index + 1) % totalImages;
carouselImages.style.transform = `translateX(-${index * 100}vh)`;
});
prevBtn.addEventListener('click', () => {
index = (index - 1 + totalImages) % totalImages;
24
PROJECT
carouselImages.style.transform = `translateX(-${index * 100}vh)`;
});
if (query.length === 0) {
searchResults.style.display = 'none';
return;
}
searchResults.style.display = 'block';
let hasResults = false;
links.forEach(link => {
const text = link.textContent.toLowerCase();
if (text.includes(query)) {
link.style.display = 'block';
hasResults = true;
} else {
link.style.display = 'none';
}
});
if (!hasResults) {
searchResults.style.display = 'none';
}
});
</html>
25
CONCLUSION
This Internship Has Been a Valuable Learning Experience. It Provided Me With
The Opportunity To Work With Cutting-Edge Technologies And Develop a Deeper
Understanding Of Web Development. The Practical Knowledge Gained During
This Internship Will Significantly Contribute To My Future Career As a Full-Stack
Developer.
26