5d8 Blackbucks
5d8 Blackbucks
On
FULL STACK DEVELOPMENT
A report submitted in partial fulfillment of the requirements for the Award of
Degree in
BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND ENGINEERING
Submitted by
Under Supervision of
Mrs.P.NEELA SUNDARI,M.Tech.(Ph.D)
Assistant Professor
Department of Computer Science and Engineering
I
KKR & KSR INSTITUTE OF TECHNOLOGY AND SCIENCES
(APPROVED BY AICTE AND PERMANENTELY AFFILIATED TO JNTUK,Kakinada)
Accredited by NBA and NAAC with ‘A’Grade, Vinjanampadu (V), Vatticherkuru (M),
GUNTUR– 522017
CERTIFICATE
This is to certify that the virtual industrial internship project “FULL STACK
DEVELOPMENT” is a bonafied work of RACHAPUDI ANUSHA-21JR1A05D8,
who carried out the work under my supervision submitted in partial fulfillment of the
requirements for the award of credits in 4th Year 1st Semester of BACHELOR OF
TECHNOLOGY in COMPUTER SCIENCEAND ENGINEERING during the Academic
Year 2024-25.
EXTERNAL EXAMINER
II
DECLARATION
This is to certify that the virtual industrial internship project entitled “FULL STACK
DEVELOPMENT” has been carried out and submitted in partial fulfillment for the award
to the Degree of Bachelor of Technology in Computer Science and Engineering to
Jawaharlal Nehru Technological University, Kakinada under the guidance of
Mrs.P.NEELA SUNDARI,M.Tech(Ph.D),Assistant Professor,DEPT. OF CSE.The work
embodied in this internship work is original and has not been submitted in part or full for any
degree of this or any degree of any other university.
RACHAPUDI ANUSHA
(21JR1A05D8)
III
ACKNOWLEDGEMENT
By
RACHAPUDI ANUSHA
(21JR1A05D8)
IV
ABSTRACT
Full stack development refers to the practice of working with both the front-end (client-side) and back-end
(server-side) of web applications. A full stack developer is proficient in handling all layers of a web
application, including the user interface, business logic, database management, and server de ployment. On
the front end, technologies like HTML, CSS, and JavaScript are commonly used to create responsive and
interactive user interfaces. The back end involves server-side programming languages such as Python,
Node.js, Ruby, or Java, alongside databases like MySQL, MongoDB, or PostgreSQL for data storage.
Full stack development is essential for building dynamic, scalable, and efficient web applications, enabling
developers to manage the complete flow of data and processes. The ability to work on both ends of an
application enhances efficiency, reduces development time, and allows for a better understanding of the
overall architecture. Popular frameworks like Django, React, and Express.js facilitate full stack development
by providing structured tools and libraries. As demand for web applications grows, full stack development
continues to be a critical skill in the software industry, enabling developers to create robust, versatile, and
user-friendly digital solutions.
V
CERTIFICATE
VI
INDEX
S.NO CONTENT PAGE NO
1 DECLARATION III
2 ACKNOWLEDGEMENT IV
3 ABSTRACT V
4 INTERNSHIP CERTIFICATE VI
5
CHAPTER-1: EXECUTIVE SUMMARY 1
1.1: COURSE LEARNING OBJECTIVES
1-2
1.2: COURSE OUTCOMES
6
CHAPTER-2 : OVERVIEW OF AN
ORGANIZATION
2.1: INTRODUCTION OF THE ORGANIZATION
2.2: VISION, MISSION AND VALUES OF THE 3
ORGANIZATION
7
CHAPTER-3 4-7
3.1: INTRODUCTION
4
3.2: WHAT IS FULL STACK?
4-5
3.3 WHAT DOES FULL STACK CONTAIN?
5
3.4 WHO USES FULL STACK?
6
3.5 WHY IS FULL STACK SO SUCCESSFUL?
7
8 CHAPTER-4: FULL STACK SERVICES
8-11
9 CHAPTER-5: FULL STACK APPLICATIONS 12-15
10 CHAPTER-6: BENEFITS OF FULL STACK 16-17
11 CHAPTER-7: FULL STACK LIMITATIONS 18-19
12
CHAPTER-8: WEEKLY REPORT
WEEK-1: INTRODUCTION ABOUT FULL STACK
20
WEEK-2: THE MERN DEVELOPMENT LAB
21
VII
WEEK-3: THE MERN DEVELOPMENT LAB
22
WEEK-4: FULL STACK DEVELOPMENT LAB
23
WEEK-5: FULL STACK DEVELOPMENT LAB
24
WEEK-6: FRAMEWORKS USAGE
25
WEEK-7: FINAL PROJECT
26
WEEK-8: FINAL PROJECT
27
13
CHAPTER – 9: OUTCOMES DESCRIPTION
VIII
KKR & KSR INSTITUTE OF TECHNOLOGY AND SCIENCES 21JR1A05D8
Full stack development encompasses the complete process of building and managing web
applications, involving both front-end (client-side) and back-end (server-side) development. Full stack
1developers are skilled in creating the user interface, developing server-side logic, managing databases,
and ensuring the seamless integration of all components. This approach offers a unified perspective on the
entire web development process, allowing for improved collaboration, faster development cycles, and
enhanced adaptability.
On the front end, full stack developers use technologies such as HTML, CSS, and JavaScript to
build interactive and responsive user interfaces. On the back end, they utilize server-side languages like
Python, Java, or Node.js, and databases such as MySQL, MongoDB, or PostgreSQL for data management.
Full stack developers are also responsible for server deployment and ensuring system security.
.
1.1 Course Learning Objectives
Internships are generally thought of to be reserved for college students looking to gain
experience in a particular field. However, a wide array of people can benefit from
Training Internships in order to receive real world experience and develop their skills.
An objective for this position should emphasize the skills you already possess in the area
and your interest in learning more.
Internships are utilized in a number of different career fields, including architecture,
engineering, healthcare, economics, advertising and many more.
Some internships are used to allow individuals to perform scientific research while others
are specifically designed to allow people to gain first-hand experience working.
Utilizing internships is a great way to build your resume and develop skills that can
be emphasized in your resume for future jobs. When you are applying for a
Training Internship, make sure to highlight any special skills or talents that can make
youstand apart from the rest of the applicants so that you have an improved chance of
landingthe position.
EduSkills is a Non-profit organization which enables Industry 4.0 ready digital workforce in India.
Our vision is to fill the gap between Academia and Industry by ensuring world class curriculum
access to our faculties and students. We want to completely disrupt theteaching methodologies and
ICT based education system in India. We work closely with all the important stakeholders in the
ecosystem Students, Faculties, Education Institutions and Central/State Governments by bringing
them together through our skilling interventions. Our three-pronged engine targets social andbusiness
impact by working holistically on Education,Employment and Entrepreneurship.
2.2 VISION:
Transforming the vision of ‘Skilled India’ and Education for to benefit the educationecosystem by
providing 360-degree holistic solutions to all the stakeholders.
2.3 MISSION:
To positively impact 1 million beneficiaries by 2024.
2.4 VALUES:
To provide innovative learning aids and services in the education sector.
To connect industry-ready professionals, researchers, advanced learners, and
entrepreneurswho can take best care of stake holders.
To extend cutting-edge research, publications and consultancy.
3.1. INTRODUCTION
Full stack development refers to the ability to work on both the front-end and back-end of a web
or mobile application. It involves handling every aspect of development, from designing user
interfaces to writing server-side logic and managing databases. A full stack developer is proficient in
both client-side technologies such as HTML, CSS, and JavaScript, as well as server-side languages
like Python, Java, or Node.js, along with database management systems like MySQL, MongoDB,
and PostgreSQL.
This comprehensive approach allows full stack developers to build and maintain the entire
architecture of an application, ensuring smooth integration between the front and back end. They also
manage APIs (Application Programming Interfaces) that facilitate communication between different
systems, enhancing the application’s functionality and scalability.
The rise of full stack development is largely driven by the demand for dynamic and responsive
web applications. The role of full stack developers has become increasingly important in modern
software development, as companies seek professionals capable of delivering end-to-end solutions
quickly and efficiently. Full stack development offers numerous advantages, including flexibility,
faster development cycles, and better project coordination, making it a critical component in the
creation of complex, data-driven web and mobile applications.
Full stack refers to the combination of technologies and tools required to develop both the front-end (client-
side) and back-end (server-side) of a web or mobile application. A "stack" in this context is a collection of
different layers or components that make up a complete application.
1. Front-End: This is the user-facing part of the application. It includes everything that users interact
with, such as the layout, design, and functionality of the interface. Technologies commonly used for
front-end development include:
o HTML (Hyper Text Markup Language): Defines the structure of web pages.
o CSS (Cascading Style Sheets): Handles the styling and layout of web pages.
o JavaScript: Adds interactivity and dynamic elements to websites.
o Frameworks/Libraries: Tools like React, Angular, and Vue.js are commonly used to enhance
front-end functionality and provide a better user experience.
2. Back-End: The back end involves everything that happens behind the scenes, including server
management, databases, and the business logic of the application. Technologies used for back-end
development typically include:
o Programming Languages: Python, Node.js, Ruby, Java, etc., to write server-side logic.
o Databases: MySQL, PostgreSQL, MongoDB, etc., to store and retrieve data.
o Servers and Hosting: Technologies like Apache, NGINX, or cloud platforms like AWS or
Azure for hosting the application.
3. Middleware/API: Full stack development also includes working with middleware and APIs, which
connect the front-end and back-end systems. These APIs (often built using REST or GraphQL) enable data
exchange between the user interface and the server/database, allowing dynamic and interactive
applications.
Thus, a "full stack" represents the complete technology suite required to create an end-to-end, functional web
or mobile application. Full stack developers are adept at working across both front-end and back-end layers,
understanding how each interacts to ensure a seamless user experience and efficient data management.
A full stack contains all the necessary components to build, deploy, and maintain a complete web or mobile
application, covering both the front-end (client-side) and back-end (server-side) development. On the front
end, technologies like HTML, CSS, and JavaScript are used to design and implement user interfaces, while
frameworks such as React, Angular, and Vue.js enhance the interactivity and responsiveness of applications.
The back end involves server-side programming languages like Node.js, Python, Java, and Ruby, along with
frameworks like Express.js, Django, and Spring Boot, which handle the business logic, server management,
and communication with databases. Databases, whether SQL-based like MySQL and PostgreSQL, or NoSQL-
based like MongoDB, store and retrieve the application’s data.
Middleware and APIs (such as REST or GraphQL) are used to facilitate communication between the front and
back end, while tools for server hosting, like Apache, NGINX, and cloud services like AWS, handle the
infrastructure. Full stack development also includes version control through Git, continuous integration and
deployment (CI/CD) pipelines, containerization via Docker and Kubernetes, and monitoring tools for
performance management. Security features, such as SSL/TLS encryption, authentication systems like OAuth
and JWT, and firewalls, are essential for ensuring the application’s safety. Overall, a full stack integrates all
these technologies, enabling developers to create and manage fully functional, scalable applications.
Full stack development is utilized by a wide range of professionals and organizations in the tech industry due
to its versatility and efficiency in building complete applications. The following are key groups that use full
stack development:
1. Startups and Small Businesses: Startups often employ full stack developers because they can handle
both front-end and back-end tasks, reducing the need to hire multiple specialized developers. This
makes development more cost-effective and allows for faster iteration and deployment of applications.
2. Web Developers: Full stack developers are a valuable asset for web development agencies and
freelance developers who need to manage the entire process of building a website or web application.
By being proficient in both the client-side and server-side, these developers can deliver end-to-end
solutions.
3. Large Enterprises: Large organizations, including tech giants like Google, Facebook, and Amazon,
use full stack developers to manage complex, scalable applications. Full stack expertise enables
developers to collaborate more effectively across teams, ensuring that front-end and back-end systems
are well integrated.
4. Freelancers and Consultants: Independent developers who offer freelance services or work as
consultants often use full stack development skills to provide a complete service to their clients. They
can handle a wide range of tasks, from designing the user interface to managing databases and servers.
5. Tech Enthusiasts and Learners: Individuals learning web or mobile development often start with
full stack development to gain a comprehensive understanding of both front-end and back-end
technologies. This holistic knowledge enables them to create functional projects on their own.
6. DevOps Engineers: DevOps professionals, who bridge the gap between software development and
operations, often use full stack development skills to ensure that the entire system—from the code to
the deployment infrastructure—works efficiently and cohesively.
7. Product Managers and Tech Leads: In tech-driven companies, product managers and tech leads
often have a background in full stack development. This helps them better understand the technical
aspects of both front-end and back-end development, enabling them to make more informed decisions,
communicate effectively with developers, and oversee the successful delivery of products.
Another reason for full stack's success is its adaptability. Full stack developers can switch between front-end
and back-end tasks as needed, allowing them to address issues across the entire application stack and ensure
smooth integration between different components. This flexibility enables quicker problem-solving and
more cohesive development, particularly in environments like startups or smaller teams, where rapid
iterations and full control over the development cycle are essential.
Full stack development also promotes better collaboration between front-end and back-end systems,
improving communication and reducing potential disconnects between teams. This leads to higher-quality
applications that are more consistent in terms of user experience, performance, and functionality. Moreover,
the rise of modern frameworks and tools like React, Node.js, and Docker has empowered full stack
developers to easily create scalable and robust applications, further contributing to the approach’s success.
Versatility and Flexibility: Full stack developers can work on both front-end and back-end aspects of an
application. This versatility allows them to tackle a wide range of development tasks, providing flexibility in
handling the entire development process.
Cost-Effectiveness: Companies can reduce costs by hiring full stack developers who can manage multiple
roles instead of maintaining separate teams for front-end, back-end, and database management. This is
particularly valuable for startups and small businesses with limited resources.
Faster Development Cycles: Since full stack developers can handle all parts of the application, the
development process becomes more efficient. This leads to quicker iterations, reduced bottlenecks, and
faster delivery of features or products to market.
Improved Collaboration: Full stack developers bridge the gap between front-end and back-end teams,
promoting better communication and integration. This reduces misunderstandings and ensures a seamless
connection between the user interface and the server logic.
Full stack services encompass a wide range of development and support offerings that cover both
the front-end and back-end of web and mobile applications. These services ensure that businesses
have comprehensive solutions for their software needs, from initial design to deployment and
maintenance. Below are the primary components of full stack services:
2. Front-End Development
User Interface (UI) Design: Creating visually appealing and user-friendly interfaces
using tools like Figma or Adobe XD.
Responsive Design: Ensuring applications are accessible and functional across various
devices and screen sizes.
7. Security Services
Security Audits: Assessing applications for vulnerabilities and implementing necessary security
measures.
Data Protection: Ensuring compliance with data protection regulations (e.g., GDPR) and
implementing encryption methods.
8. Integration Services
Third-Party Integrations: Connecting applications with external services (e.g., payment gateways,
social media APIs, or cloud services).
Microservices Architecture: Developing applications using a microservices approach for scalability
and flexibility.
single Page Web Application (SPA) is a web application that interacts with the user by dynamically
rewriting the current page, instead of loading entire new pages from a server. This approach results in a
seamless and fast user experience similar to desktop applications, as it avoids the need for full-page reloads.
React JS, a popular JavaScript library developed by Facebook, is widely used for building SPAs due to its
efficiency, flexibility, and component-based architecture.
productivity.
Rapid Development: Python's simple syntax and extensive libraries allow developers to quickly
prototype, develop, and deploy applications.
MySQL is a robust, widely-used open-source database system that is often integrated with Python for
storing and retrieving data. It is known for its scalability, security, and support for relational data
management, making it suitable for applications of all sizes.
In full stack development, Python and MySQL often work together as part of the backend architecture.
Python, acting as the server-side language, connects to the MySQL database to perform CRUD operations
(Create, Read, Update, Delete). These interactions are critical for managing application data and responding
to user actions.
API Integration: Using Python frameworks (like Django or Flask), developers create RESTful APIs
to interact with the MySQL database. The APIs enable the front-end to send and receive data
Django is a high-level, open-source web framework for building web applications quickly and with
minimal code. Written in Python, Django follows the Model-View-Template (MVT) architectural pattern,
which is a variant of the more common Model-View-Controller (MVC) framework.
Django is designed to help developers take applications from concept to completion as quickly as possible
while encouraging clean, pragmatic design. It comes with a rich set of features that simplify many
common web development tasks, such as handling user authentication, managing databases, and creating
dynamic content.
E-Commerce Platforms
Functionality: Full stack applications that allow users to browse products, manage
shopping carts, and process payments. The front end displays product information and
user accounts, while the back end handles inventory management and payment
processing.
Functionality: These applications enable users to create accounts, post updates, share
content, and interact with others. The front end provides user interfaces for navigation and
engagement, while the back end manages user data and interactions.
Functionality: Full stack applications that allow users to create, edit, and manage digital
content. The front end displays the content, while the back end facilitates content creation,
storage, and organization.
Functionality: These applications help teams organize tasks, track progress, and
collaborate. The front end provides an intuitive interface for task management, while the
back end handles user accounts, project data, and real-time updates.
Functionality: Full stack applications that provide educational content and enable user
interaction through courses, quizzes, and forums. The front end presents course materials
and user dashboards, while the back end manages user progress and content delivery
Healthcare Applications
Functionality: Full stack applications that manage financial transactions, budgeting, and
investments. The front end provides user dashboards for financial tracking, while the back
end processes transactions and maintains security.
The Document Object Model (DOM) is a programming interface that represents and interacts
with HTML, XML, and XHTML documents. It defines the logical structure of a document and
how it can be accessed and manipulated. As a tree-like structure, the DOM treats each part of a
document—such as elements, attributes, and text—as objects that can be modified using
programming languages like JavaScript.
The DOM enables dynamic updates to a web page’s content and layout without requiring a full
page reload, making it crucial for interactive web applications. Through JavaScript, developers
can interact with the DOM to change the structure, style, and content of web pages in response to
user actions, leading to responsive and dynamic user experiences.
Python, as a powerful and versatile programming language, supports various constructs like functions,
classes, and iterative loops to help you write clean, reusable, and efficient code. Here's a brief introduction
to these essential concepts.
1. Functions in Python
A function is a block of reusable code that performs a specific task. Functions help to break down complex
problems into smaller, manageable parts and enable code reuse.
Defining a Function:
To define a function in Python, use the def keyword followed by the function name and parentheses. Inside
the function, you can include any number of operations.
Calling a Function:
To execute a function, you "call" it by using its name followed by parentheses and passing any required
arguments
Returning Values:
Functions can return a value using the return statement. This allows the function to send a result back to the
part of the program where it was called.
Function Parameters and Arguments:
Positional arguments: Arguments that are passed in order.
Keyword arguments: Arguments passed by explicitly stating the parameter name.
2. Classes in Python
Classes are the foundation of Object-Oriented Programming (OOP) in Python. A class is like a blueprint
for creating objects (instances). Objects are instances of a class, and they represent real-world entities or
concepts.
Defining a Class:
To define a class in Python, use the class keyword.
Creating Objects (Instances):
You can create an instance of a class (an object) and access its methods and attributes.
Attributes and Methods:
Attributes: Variables that hold the data for the object.
Methods: Functions defined inside a class that operate on the object’s attributes.
Inheritance:
One of the key concepts in OOP is inheritance, where a class can inherit attributes and methods from another
class.
Wide Skill Set: Full stack developers possess a broad range of skills, allowing them to
work on both front-end and back-end tasks. This versatility enables teams to adapt quickly
to project changes and requirements.
Reduced Overhead: Fewer specialists may be needed when one or two developers can
manage the entire stack, leading to cost savings and simpler project management.
3. Improved Communication
Better Collaboration: Full stack developers can effectively communicate technical needs
and constraints across teams, promoting a unified vision and better problem-solving.
Shared Understanding: Teams can work more efficiently when all members understand
how different parts of the application interact, leading to fewer bottlenecks.
4. Faster Time-to-Market
Rapid Prototyping: The ability to build and iterate on both the front end and back end
expedites the development process, allowing businesses to launch applications more
quickly.
Holistic View: Full stack developers have a complete understanding of how the
application functions as a whole, enabling them to identify and solve problems that span
multiple layers of the stack.
Quick Debugging: With knowledge of both front-end and back-end issues, full stack
developers can diagnose and resolve bugs more efficiently.
Monolithic Architecture
Limitation: Django is often seen as a monolithic framework. This means that it includes many
features out-of-the-box (such as ORM, templating system, and authentication), which may not
always be necessary for all types of projects. It can be heavy for small or simple applications.
Impact: This makes Django less flexible compared to more modular frameworks. Customizing or
replacing default components can be challenging without breaking other parts of the framework.
Learning Curve for Beginners
Limitation: Although Django has good documentation, it is still a complex framework with many
built-in features. Beginners may find the steep learning curve challenging, especially when trying to
understand the various components like models, views, middleware, and deployment practices.
Impact: New developers may struggle to implement advanced features or troubleshoot errors
without deep knowledge of how Django operates internally.
ORM Limitations
Limitation: Django’s ORM is powerful but abstracted, which can be a limitation for developers who
require complex database queries or fine-tuned database optimizations.
Impact: The ORM may not be the best fit for highly complex database interactions, as it can
generate inefficient queries or make it difficult to execute highly specialized SQL commands. In such
cases, using raw SQL or switching to a more flexible ORM may be necessary.
Create TO-DO-LIST
How to design ,develop,
Day- 5
publish a website
(12-06-2024)
WEEK-4:FULL-STACK-DEVELOPMENT LAB
Practical Practical
Day-11
(26-06-2024)
WEEK-6:FINAL PROJECT
WEEK-7:FINAL PROJECT
Project Session
Day-4 Creation of project
(13-07-2024)
Day-5
(16-07-2024) Project Session
Modules used in project
(19-07-2024)
Project Session
Day-8
Testing of project
(22-07-2024)
(25-07-2024)
9. 1 Work environment
understanding virtualization: This means not depending upon personal individual hardware that
faces problems when scaling but rather running application software on Virtual machines
Cloud Service providers: There are many cloud Service vendors that offer Storage database,
Compute machine learning, and Migration Services but Aws is the leader closely followed by
Microsoft's Azure
Security & Recovery: Cloud Security is one of the most difficult subdomains in the cloud Since
it involves Critical measures to be taken when there is a data breach or disaster recovery
Technical skills : knowledge of and proficiency activities involving methods, processes, and
Procedures
Interpersonal and Communication Skills: Convey ideas and information to others and receive
Information and ideas from others. effectively
Diagnostic and Analytical Skills: Ability to visualize the best response to a Situation
PROJECT
ABSTRACT :
This project presents a web-based calculator application developed using the Django
framework. The application offers basic arithmetic operations, including addition, subtraction,
multiplication, and division, with a user-friendly interface accessible through any web browser.
The system leverages Django’s powerful backend to ensure smooth and secure operation, while
the frontend is built using HTML, CSS, and JavaScript to provide a seamless user experience.
The primary aim is to create an easily accessible, responsive, and reliable tool for performing
calculations, highlighting Django's capabilities in developing lightweight utility applications.
This project demonstrates the integration of client-server communication and enhances user
interaction through dynamic result updates. Future enhancements may include advanced
mathematical operations, history tracking, and multi-user sessions.
FILE STRUCTURE :
1. iews.py : The Django view function ‘calculator’ checks if the request is a POST method. If
true, it retrieves the ‘result’ parameter, calculates the result, and renders ‘index.html’ with the
result. Otherwise, it renders ‘index.html’ without any changes.
Source Code :
from django.shortcuts import render
from django.http import HttpResponse
def calculator(request):
if request.method == 'POST':
result = request.POST.get('result', '')
2. urls.py : Defines Django URL patterns, routing ‘admin/’ to the admin interface and ” to the
‘calculator’ function from the ‘home.views’ module.
Source Code :
from django.contrib import admin
from django.urls import path
from home.views import *
urlpatterns = [
path('admin/', admin.site.urls),
path('', calculator, name='calculator'),
]
3. index.html : This HTML document defines a simple calculator web page. It includes styles
for a centered layout with a background color, a calculator container with specific styling, and
JavaScript functions for handling user input. The calculator allows users to perform basic
arithmetic operations, and the result is displayed in an input field within a form.
Source Code :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Simple Calculator</title>
<style>
body {
font-family: 'Arial', sans-serif;
background-color: #f2f2f2;
margin: 0;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
.calculator {
background-color: #ffffff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
border-radius: 5px;
padding: 20px;
width: 300px;
text-align: center;
}
h1 {
color: #4CAF50;
font-family: 'Times New Roman', Times, serif;
margin-top: 0;
}
input, button {
margin: 5px;
padding: 10px;
font-size: 16px;
}
input {
width: 80%;
}
button {
width: 19%;
}
</style>
</head>
<body>
<div class="calculator">
<h1>GeeksforGeeks Calculator</h1>
<form method="post" action="{% url 'calculator' %}">
{% csrf_token %}
<input type="text" id="result" name="result" value="{{ result }}">
<br>
<button onclick="clearResult()">C</button>
<button onclick="appendToResult('7')">7</button>
<button onclick="appendToResult('8')">8</button>
<button onclick="appendToResult('9')">9</button>
<br>
<button onclick="appendToResult('4')">4</button>
<button onclick="appendToResult('5')">5</button>
<button onclick="appendToResult('6')">6</button>
<button onclick="appendToResult('*')">*</button>
<br>
<button onclick="appendToResult('1')">1</button>
<button onclick="appendToResult('2')">2</button>
<button onclick="appendToResult('3')">3</button>
<button onclick="appendToResult('-')">-</button>
<br>
<button onclick="appendToResult('0')">0</button>
<button onclick="appendToResult('.')">.</button>
<button onclick="calculate()">=</button>
<button onclick="appendToResult('+')">+</button>
<button onclick="clearResult()">Clear</button>
<button onclick="appendToResult('/')">/</button>
</form>
</div>
<script>
// Update JavaScript functions to handle form submission
function appendToResult(value) {
document.getElementById('result').value += value;
}
function clearResult() {
document.getElementById('result').value = '';
}
function calculate() {
try {
document.getElementById('result').value =
eval(document.getElementById('result').value);
} catch (error) {
document.getElementById('result').value = 'Error';
}
}
</script>
</body>
</html>
OUTPUT :
CALCULATOR
1 Oral communication 1 2 3 4 5
2 Written communications 1 2 3 4 5
3 Proactiveness 1 2 3 4 5
6 Self-confidence 1 2 3 4 5
7 Ability to learn 1 2 3 4 5
10 Creativity 1 2 3 4 5
11 Quality of work done 1 2 3 4 5
12 Time Management 1 2 3 4 5
13 Understanding the Community 1 2 3 4 5
15 OVERALL PERFORMANCE 1 2 3 4 5