Web Development Report
Web Development Report
BELAGAVI-590018
2023-2024
AN
INTERNSHIP
REPORT
ON
“FULL STACK WEB DEVELOPMENT”
Submitted in the Partial Fulfillment of the Requirement for 6th Semester for
the Award of the degree of
BACHELOR OF ENGINEERING
in
ELECTRONICS AND COMMUNICATION ENGINEERING
By
Carried at
Dr. T. THIMMAIAH INSTITUTE OF TECHNOLOGY
Under the Guidance
of
MOHANA C
Assistant Professor,
Dept. of ECE
Dr. T. THIMMAIAH INSTITUTE OF TECHNOLOGY
Oorguam Post, KGF-563120
We wish to express a wholehearted thanks to our Principal Dr. Syed Ariff for providing
good infrastructure for undertaking this in college.
We would like to extend hearty thanks to our Dean (Academics) Prof. Ruckmani
Divakaran, for being constant support of encouragement to carry out the Internship work.
We would like to extend hearty thanks to our HOD, Dr. Vijaya Bharathi M, for her
timely support and guidance in the completion of this Internship work.
We would like to thank our Guide prof. Mohana C for his timely support and
coordination in the completion of this Internship work.
We would like to thank our Internship Co-Ordinator Dr. Vijaya Geetha R Associate
professor for her timely support and co-ordination in the completion of this Internship work.
We would like to thank all teaching and non-teaching staff who were directly and
indirectly supported for carrying out this Internship work.
We extend our hearty thanks to our parents, friends for all the moral support provided
during the preparation for the Internship work.
The proposed website is the more precise one in this case. The website must contain
relevant and accurate information that is useful to engineering students. The proposed system
is primarily intended for engineering students who need to register for internships and other
courses. The website built is the best because navigation is also proposed to a greater extent
without any disruption. A good platform for engineering students to post their queries and get
effective answers.
i
TABLE OF CONTENTS
ii
6.2 Key aspects of testing 22
6.3 Security 23
6.4 Key aspects 24
CHAPTER 7 SNAPSHOTS 26-27
7.1 Signup page 26
7.2 News letter 27
CHAPTER 8 CONCLUSION 28
CHAPTER 9 BIBILOGRAPHY 29
9.1 Websites 29
i
LIST OF FIGURES
FIGURE NO NAME OF THE FIGURE PAGE NO
7.1.1 Sample Signup Form 26
7.1.2 Fill Form 26
7.1.3 Submitted Form Data 27
7.2.1 Subscription To News Letter 27
7.2.2 Subscribed News Letter 27
i
Full Stack Web 2023-
CHAPTER - 1
COMPANY PROFILE
Delivering the most efficient and the best solution to our clients to every client leveraging
leading technologies & industry best practices.
We have proven record of evaluating the best candidates for your requirement and stand
by on the quality throughout the project implementation. In today’s competitive marketplace, it
is important to bring the businesses and technologies together to deliver on your promise.
the back-end portions of an application. Front-end is what the users will see or interact with on
your application. Back-end part is what users do not see, such as application’s logic, database,
server, etc. A full-stack web developer is comfortable working with both back-end and front-end
technologies which make a website or application function properly.
CHAPTER 2
WEB DEVELOPMENT
2.1 INTRODUCTION
Full stack web development refers to the practice of building web applications that
encompass both the front-end and back-end aspects of the software.
A full stack developer is proficient in working with both the client-side (front-end) and
server-side (back-end) technologies to create a complete web application.
CHAPTER 3:
TASK PERFORMED
Full stack web development application architecture refers to the design and structure of
a web application that encompasses both the frontend and backend components, along with the
various technologies and layers that make up the entire system. A well-designed architecture is
crucial for building scalable, maintainable, and secure web applications.
10. Documentation:
Document the architecture, code, and APIs to make it easier for developers to understand
and maintain the application.
It's important to note that the choice of technologies and architecture components may
vary depending on the specific requirements of your project. Additionally, consider best
practices in software development and architecture design to create a robust and maintainable
web application.
3.2 Roles and Responsibilities of Individuals
Since the internship was remotely conducted by the company, to ensure easy onboarding of
interns, the company had individuals who took care of the smooth run of online training.
Operation and Strategy Head- Ensured there were no difficulties for intern’s while
onboarding. Best of mentors and doubt clarifying sessions were arranged too.
Technical Lead- Ensured the technicalities of online training to be smooth. Best platforms
were arranged for our meetings and trainings.
Mentors- They have helped us to understand the concepts, gave us tasks to get practical take
a way and clarified doubts to the best.
Interns- Worked through the tasks given either individually or in a group.
3.3 SYSTEM REQUIREMENTS
Hardware requirements:
Processor: x86 or x64
Hard Disk: 216 GB or more.
Ram: 512 MB (minimum), 1 GB(recommended)
Software Requirements:
Operating System: Windows or Linux
Development Environment: Code Editor [VS Code Recommended]
CHAPTER 4:
SYSTEM ANALYSIS
4.1 Existing System
Systems analysis is the process of gathering and evaluating data, identifying issues, and
breaking down a system into its constituent parts. System analysis is used to investigate a system
or its components in order to determine its goals.
The existing website was pretty good but the information was not up to the mark.
Website for queries for engineering students is very important in all the aspects. First and
foremost, it was not attractive and navigation friendly. The information was not very precise and
knowledgeable as it includes all the other information’s.
CHAPTER 5
IMPLEMENTATION
5.1 Modules
1. Login Page
2. Home Page
5.2 Modules Description
The basic webpage of this project is created using HTML, styling of the webpage is done
using CSS and JavaScript for interactive web content.
The main objective of this project is to learn the implementation of HTML, CSS and
JavaScript.
5.3 The Website mainly include
Header: Includes Logo, icons, Search Bar, Ask Question Button
Content: Includes Static Side bar, Side bar options
Feed: Includes Information and posts with answer button
Widget: Includes Widget Header and Contents.
5.4 Coding
Signup Form
<!DOCTYPE html>
<html>
<style>
body {font-family: Arial, Helvetica, sans-serif;}
* {box-sizing: border-box;}
/* Full-width input fields */
input[type=text], input[type=password] {
width: 100%;
padding: 15px;
margin: 5px 0 22px 0;
display: inline-block;
border: none;
background: #f1f1f1;
}
}
/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: #474e5d;
padding-top: 50px;
}
/* Modal Content/Box */
.modal-content {
background-color:
#fefefe;
margin: 5% auto 15% auto; /* 5% from the top, 15% from the bottom and centered
*/ border: 1px solid #888;
width: 80%; /* Could be more or less, depending on screen size */
}
/* Style the horizontal ruler */
hr {
border: 1px solid #f1f1f1;
margin-bottom: 25px;
}
/* The Close Button (x) */
.close {
position: absolute;
right: 35px;
top: 15px;
font-size: 40px;
font-weight: bold;
color: #f1f1f1;
}
.close:hover,
.close:focus {
color: #f44336;
cursor: pointer;
}
/* Clear floats */
.clearfix::after {
content: "";
clear: both;
display: table;
}
/* Change styles for cancel button and signup button on extra small screens */
@media screen and (max-width: 300px) {
.cancelbtn, .signupbtn {
width: 100%;
}
}
</style>
<body>
<h2>Sample Signup Form</h2>
<button onclick="document.getElementById('id01').style.display='block'"
style="width:auto;">Sign
Up</button>
<div id="id01" class="modal">
<span onclick="document.getElementById('id01').style.display='none'" class="close"
title="Close
Modal">×</span>
<form class="modal-content" action="/action_page.php">
<div class="container">
<h1>Sign Up</h1>
<p>Please fill in this form to create an account.</p>
<hr>
<label for="email"><b>Email</b></label>
<input type="text" placeholder="Enter Email" name="email" required>
<label for="psw"><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="psw" required>
<label for="psw-repeat"><b>Repeat Password</b></label>
<input type="password" placeholder="Repeat Password" name="psw-repeat" required>
<label>
<input type="checkbox" checked="checked" name="remember" style="margin-bottom:15px">
Remember me
</label>
<p>By creating an account you agree to our <a href="#" style="color:dodgerblue">Terms &
Privacy</a>.</p>
<div class="clearfix">
<button type="button" onclick="document.getElementById('id01').style.display='none'"
class="cancelbtn">Cancel</button>
<button type="submit" class="signupbtn">Sign Up</button>
</div>
</div>
</form>
</div>
<script>
// Get the modal
var Sample = document.getElementById('id01');
// When the user clicks anywhere outside of the modal, close it
window.onclick = function(event) {
if (event.target == modal) {
Sample.style.display = "none";
}
}
</script>
</body>
</html>
Newsletter subscription
<!DOCTYPE html>
<html>
<style>
body {font-family: Arial, Helvetica, sans-serif;}
form {
border: 3px solid #f1f1f1;
font-family: Arial;
}
.container {
padding: 20px;
background-color: #f1f1f1;
}
input[type=text], input[type=submit] {
width: 100%;
padding: 12px;
margin: 8px 0;
display: inline-block;
border: 1px solid
#ccc;
box-sizing: border-box;
}
input[type=checkbox]
{ margin-top: 16px;
}
input[type=submit] {
background-color: #04AA6D;
color: white;
border: none;
}
input[type=submit]:hover {
opacity: 0.8;
}
</style>
<body>
<h2>CSS Newsletter</h2>
<form action="/action_page.php">
<div class="container">
<h2>Subscribe to our Newsletter</h2>
<p>Lorem ipsum text about why you should subscribe to our newsletter blabla. Lorem ipsum text
about why you should subscribe to our newsletter blabla.</p>
</div>
<div class="container" style="background-color:white">
<input type="text" placeholder="Name" name="name" required>
<input type="text" placeholder="Email address" name="mail" required>
<label>
<input type="checkbox" checked="checked" name="subscribe"> Daily Newsletter
</label>
</div>
<div class="container">
<input type="submit" value="Subscribe">
</div>
</form>
</body>
</html>
CHAPTER 6
TESTING AND SECURITY
6.1 TESTING
Full-stack web development testing is a crucial aspect of the software development
process. It involves testing all layers and components of a web application, from the front-end
user interface to the back-end server and database. The primary goal of testing in full-stack
development is to ensure that the web application works as intended, is free of bugs and security
vulnerabilities, and provides a seamless user experience.
6.2 Key aspects of testing in full-stack web development:
Unit Testing: Unit testing involves testing individual components or functions in isolation.
In full-stack development, this can include testing front-end components (e.g., React or
Angular components) and back-end services (e.g., APIs) to ensure they work correctly.
Integration Testing: Integration testing focuses on testing the interactions between different
components or modules of the application. For example, you may test how the front-end
communicates with the back-end or how different microservices interact with each other.
End-to-End Testing (E2E): End-to-End testing, also known as UI testing, involves testing
the entire application flow from the user's perspective. This type of testing checks whether
the application functions as expected, including user interactions, form submissions, and
navigation.
Regression Testing: Regression testing ensures that new code changes or updates do not
introduce new bugs or issues and that existing functionality remains intact. Automated
testing suites, like Selenium or Cypress, are commonly used for regression testing in full-
stack development.
Performance Testing: Performance testing is essential to assess the application's speed,
scalability, and responsiveness under different loads and conditions. Load testing and stress
testing are common types of performance testing.
Security Testing: Web applications are vulnerable to various security threats, such as SQL
injection, cross-site scripting (XSS), and cross-site request forgery (CSRF). Security testing
helps identify and mitigate security vulnerabilities.
Usability Testing: Usability testing assesses the user-friendliness of the web application,
focusing on the user interface, user experience, and overall usability. It involves gathering
feedback from real users to make improvements.
Accessibility Testing: Ensuring that your web application is accessible to users with
disabilities is essential. Accessibility testing checks if the application complies with web
accessibility standards like WCAG (Web Content Accessibility Guidelines).
Cross-Browser and Cross-Device Testing: Web applications must work consistently across
various web browsers and devices. Cross-browser and cross-device testing ensures
compatibility.
Database Testing: In full-stack development, database testing ensures that data is stored,
retrieved, and manipulated correctly in the database. It may include testing data integrity,
transactions, and data migrations.
Continuous Integration and Continuous Deployment (CI/CD) Testing: Full-stack
developers often use CI/CD pipelines to automate testing and deployment processes,
ensuring that code changes are automatically tested and deployed to production when they
pass all tests.
A/B Testing: A/B testing is used to compare two or more versions of a web application to
determine which one performs better in terms of user engagement, conversion rates, or other
key metrics.
Effective testing in full-stack web development requires a combination of manual and
automated testing methods, and it should be an integral part of the development workflow.
Continuous testing helps catch and resolve issues early in the development process, reducing the
likelihood of critical bugs and security vulnerabilities reaching production.
6.3 SECURITY
Full-stack web development security is a critical aspect of building web applications. It
involves implementing various measures and best practices to protect web applications, data, and
users from security threats and vulnerabilities.
6.4 Key aspects of full-stack web development
Authentication and Authorization: Implement strong user authentication and authorization
mechanisms to ensure that only authorized users can access specific parts of your
application. Use techniques like multi-factor authentication (MFA) for added security.
Secure Communication: Use HTTPS to encrypt data transmitted between the client and
server. This helps protect data from eavesdropping and man-in-the-middle attacks.
Input Validation: Always validate and sanitize user input to prevent SQL injection, Cross-
Site Scripting (XSS), and other injection attacks. Use parameterized queries and output
encoding to mitigate these vulnerabilities.
Cross-Site Request Forgery (CSRF) Protection: Implement anti-CSRF tokens to prevent
attackers from making unauthorized requests on behalf of authenticated users.
Cross-Origin Resource Sharing (CORS): Configure CORS policies to control which
domains are allowed to make requests to your web server, thus preventing unauthorized
cross- origin requests.
Session Management: Implement secure session management to prevent session fixation,
session hijacking, and other session-related attacks. Use frameworks and libraries with built-
in session security features.
Security Headers: Set HTTP security headers like Content Security Policy (CSP), X-
Content- Type Options, X-Frame-Options, and X-XSS-Protection to mitigate various
security risks.
File Upload Security: If your application allows file uploads, validate and sanitize file types
and use a secure file storage mechanism. Don't execute uploaded files in a web context.
API Security: If your application includes APIs, secure them with proper authentication and
authorization mechanisms, and limit access to only what's necessary. Use API keys, OAuth,
or other secure token-based authentication methods.
Database Security: Protect your database from SQL injection by using prepared statements
or an Object-Relational Mapping (ORM) tool. Ensure proper access controls and avoid
exposing sensitive data in error messages.
Error Handling: Implement proper error handling that doesn't reveal sensitive information
about the system, such as stack traces, to potential attackers.
Security Updates: Regularly update and patch all components of your application, including
server software, libraries, and frameworks, to address known vulnerabilities.
Security Testing: Conduct regular security assessments, such as penetration testing and
vulnerability scanning, to identify and remediate potential weaknesses in your application.
Security Training: Ensure that your development team is trained in secure coding practices
and is aware of the latest security threats and best practices.
Logging and Monitoring: Implement thorough logging and monitoring to detect and
respond to security incidents in a timely manner. Set up alerts for suspicious activities.
Security Policies: Develop and enforce a comprehensive set of security policies and
guidelines for your development team.
Compliance: Ensure that your application complies with relevant data protection regulations
and industry-specific security standards, such as GDPR, HIPAA, or PCI DSS, depending on
your application's use case.
CHAPTER 7
SNAP SHOTS
7.1 Signup page
CHAPTER 8
CONCLUSION
In today's Web development, a good site design is essential. A bad design will lead to the
loss of visitors and that can lead to a loss of business. In general, a good page layout has to
satisfy the basic elements of a good page design.
This includes colour contrast, text organization, font selection, style of page, page size,
graphics used, and consistency. In order to create a well-designed website for a specific
audience, the developer needs to organized and analyse the users' statistics and the background
of the users.
Although it can be hard to come up with a design that is well suited to all of the users,
there will be a design that is appropriate for most of the audience. The better the page design, the
more hits a website will get. That implies an increase in accessibility and a possible increase in
business.
Full-stack web development is a multifaceted field that encompasses both the front-end
and back-end aspects of web applications. It involves the development of the entire software
stack, from the user interface and user experience to the server, database, and infrastructure
components. full-stack web development is a rewarding and dynamic field that offers the
opportunity to create robust and innovative web applications.
Developers who can bridge the gap between front-end and back-end technologies, while
staying up to date with the latest tools and practices, are well□positioned for a successful and
fulfilling career in web development.
CHAPTER 9
BIBILOGRAPHY
Clark, Joe. Building Accessible Websites, New Riders Publishing, 2002.
Duckett, Jon. Accessible XHTML and CSS Web Sites Problem Design Solution, Wrox,2005
Gay, Greg et al Introduction to Web Accessibility, Ryerson University Pressbooks, 2019.
Gay, Greg et al. Professional Web Accessibility Auditing Made Easy, Ryerson University
Pressbooks 2016.
Gay, Greg et al. Web Accessibility for Developers, Ryerson University Pressbooks, 2019.
9.1 Websites
www.google.com
www.w3schools.com
www.youtube.com