Iti Report
Iti Report
Iti Report
Bachelor of Technology
In
Computer Science & Technology
period.
Iti Tiwari
21EGJAD015
B.Tech. V semester, III -year, AD
ii
Abstract
This Industrial Training Seminar (ITS) report provides an overview of the
extensive hands-on experience gained during the third year of the
Bachelor of Technology program in Computer Science and Engineering at
Global Institute of Technology, Jaipur. The report documents a
comprehensive exploration of web development, from front-end to
backend, and delves into the emerging realm of Web3 development on the
Internet Computer. Throughout the training, the student acquired
proficiency in a wide array of technologies, including HTML 5, CSS 3,
Flexbox, Grid, Bootstrap 5, JavaScript ES6, DOM
Manipulation, jQuery, Bash Command Line, Git, GitHub, Node.js, NPM,
Express.js, EJS, REST, and MongoDB. Additionally, the report highlights
the integration of authentication mechanisms, deployment strategies
using GitHub Pages, Heroku, and MongoDB Atlas, and a deep dive into
the
exciting world of full stack development.
iii
.
Table of Contents
Certificate 2
Acknowledgement 3
Abstract 4
List of Contents 5
List of Figures 6
1. Introduction 7
1.2 Objective
1.3 Scope
1.Research
2.Ideation
3.Prototyping
4.Testing
5.Implementation
12. Conclusion
vi
List of Figures
Fig9.1 MERN
35
vi
i
vii
Chapter – 1
Introduction
1.1 Background
The journey outlined in this report represents the culmination of my academic
pursuit in the Bachelor of Technology program with a major in Computer
Science and Engineering at the Global Institute of Technology, Jaipur. As a
final-year student, I embarked on a comprehensive Industrial Training
Seminar (ITS) that provided me with an opportunity to bridge the gap between
theoretical knowledge and practical application. The training, spanning several
months, was conducted in collaboration with a reputable organization, and it
involved a hands-on exploration of a wide array of topics and technologies in
the field of web development and emerging technologies.
1.2 Objectives
The primary objectives of this ITS were:
1
(iv) To reflect on how the knowledge and skills acquired during this
training can shape my future career aspirations and contributions to
the technology industry.
4
Chapter - 2
2.1 HTML 5
HTML (Hypertext Markup Language) 5 is the cornerstone of web content,
defining the structure and semantics of web pages. During the industrial
training, I honed my skills in crafting well-structured HTML documents. This
encompassed:
The acquired proficiency in HTML5 laid the foundation for creating structured,
accessible, and engaging web content.
5
2.2 CSS 3
CSS (Cascading Style Sheets) 3 is the language of design and layout on the
web. The training deeply immersed me in the world of CSS, where I
gained mastery over the following aspects:
In web development, file paths are used to specify the location of files,
including HTML documents, stylesheets, JavaScript files, images, and other
assets on a web server or within a project's directory structure. File paths
provide the browser with the information it needs to retrieve and display the
content of a webpage correctly.
(i) Relative Paths: These paths are defined in relation to the current
location of the webpage. For example, you might use a relative
path to link to an image in the same directory as your HTML
file.
Relative paths are shorter and typically more flexible when it
7
comes to moving or deploying your website.
8
Fig 2.1 File Paths
(ii) Absolute Paths: Absolute paths provide the full URL to the
resource, including the protocol (http or https) and the domain
(e.g., www.example.com). They are used when you want to
reference a resource on a different website or server. A website
is composed of multiple webpages, which are individual HTML
documents, each with its own content and structure. These
webpages are connected through hyperlinks and collectively form a
website. Here is how they come together:
9
These links, coded in the HTML of your webpages, specify the file paths to other
pages on your site. Users can click on these links to
navigate to different sections or content.
2.5 Bootstrap
Bootstrap 5 is a popular front-end framework that simplifies and expedites web
development through pre-designed components and a responsive grid system.
During the training, I gained practical experience in utilizing Bootstrap 5,
including:
1
0
(v) Mobile-First Approach: Bootstrap adopts a mobile-first
design philosophy, prioritizing the user experience on smaller
screens and progressively enhancing it for larger devices.
Chapter - 3
1
1
maintainable code.
1
2
(iv) De-structuring: Employing object and array de-structuring to
extract and assign values with elegance, reducing verbosity and
enhancing code clarity.
10
involves updating the content of a web page without necessitating a full
page refresh. The capability to modify content in real-time enhances user
experience by enabling seamless updates and responsiveness.
11
manipulation empowers them to alter and update web content dynamically,
12
resulting in a seamless and engaging user experience. These skills are
essential for any full-stack developer seeking to create rich, responsive, and
user-centric web applications
Chapter -
13
(iv) Scripting and Automation: Writing and executing Bash scripts
to automate repetitive tasks and create custom command-line tools.
A strong grasp of the Bash command line is crucial for efficient and productive
development, enabling developers to navigate their systems, manage files, and
automate repetitive tasks.
14
same
codebase.
15
(v) Collaborative Workflows: Implementing collaborative workflows
using Git and GitHub, enabling multiple developers to work on the same
project simultaneously.
Git and GitHub, the dynamic duo of version control, play an instrumental role
in the development process. Proficiency in Git allows developers to maintain a
version history of their code, collaborate seamlessly with team members, and
manage changes efficiently. GitHub, on the other hand, serves as a central hub
for project repositories, facilitating collaboration, code reviews, and issue
tracking. The combined use of Git and GitHub brings organization and clarity to
16
code management, allowing developers to work cohesively in a synchronized
manner.
Chapter - 5
5.1 Node.js
Node.js is a JavaScript runtime that allows developers to execute JavaScript
code on the server-side. It facilitates building fast, scalable, and non-blocking
server applications. During the training, I delved into the following key aspects
of Node.js:
17
(i) Event-Driven Architecture: Understanding Node.js's event-driven,
asynchronous architecture, which is ideal for handling concurrent
connections and optimizing performance.
Node.js has opened the door to server-side JavaScript, allowing for the creation
of highly responsive and scalable web applications.
18
5.3 Express.js with Node.js
Express.js is a minimal and flexible Node.js web application framework that has
become a cornerstone of modern web development. The training included the
following key areas of Express.js:
11
0
(iii)Template Inheritance: Implementing template inheritance to
create reusable webpages.
(iv) Partial Views: EJS supports the use of partial views, allowing for
the modularization of templates. This means that common components
such as headers, footers, or sidebars can be defined once and reused
across
multiple pages. This approach streamlines development and
ensures design consistency.
In this example, the Express.js server sends the users array to the
users.ejs template, where it is dynamically rendered into an HTML list.
EJS is a powerful tool for generating dynamic HTML content, enabling the
creation of data-driven web pages and facilitating a rich user experience.
11
1
on the technologies and practices that power server-side logic, data
11
2
management, and the core functionality of web applications. Proficiency in
Node.js, NPM, Express.js, and EJS equips developers to create scalable,
responsive, and data-driven server applications that serve as the backbone of
modern web development projects.
Chapter - 6
Databases
Databases form the foundation of data storage and management in web
applications, providing a structured and efficient means of storing, retrieving,
and manipulating information. This chapter explores the core concepts and
technologies related to databases, including SQL and NoSQL solutions.
11
4
(iv) Joining Tables: Utilizing SQL JOIN operations to combine
data from multiple tables, enabling complex queries.
6.2 MongoDB
MongoDB is a popular NoSQL database that stores data in a flexible,
document-oriented format. The training covered the following key areas of
MongoDB:
20
MongoDB offers a schema-less and flexible approach to data storage, making it
suitable for scenarios where data structures are subject to frequent change or
are not well-defined in advance.
Chapter - 7
23
performance. It calculates the difference between the virtual DOM and
the actual DOM, reducing the number of updates and increasing
rendering efficiency.
(iii) State and Props: React components can have local state, and they
can also receive data through props (properties). State and props make
it possible to create dynamic and data-driven UIs.
25
‘this.state’ and ‘this.setState’ used in class components. Developers can
declare and manipulate component-specific state variables using useState,
which simplifies the management of dynamic data within functional
components.
(iv) Context API and ‘useContext’ Hook: The Context API in React is
a way to manage global state and share data between components. When
combined with the ‘useContext’ hook, it becomes even more
straightforward to access and manage shared state across different parts
of an application.
React Hooks has revolutionized the way developers work with React. It
promotes functional components as the preferred way to build UIs, simplifies
state management, and enhances code readability. It has been widely adopted
in the React ecosystem, enabling developers to create more efficient, concise,
and maintainable code.
26
React.js and React Hooks are pivotal to modern web development, enabling the
creation of interactive and engaging user experiences. From e-commerce
platforms to social media applications, React has established itself as a versatile
and powerful library for building cutting-edge web applications. The
proficiency in React.js and the adoption of React Hooks are not just skills but
catalysts for innovation and excellence in web development.
Chapter - 8
28
Web design is a multifaceted discipline that encompasses the planning, creation,
and maintenance of websites. It's a crucial element of web development and
plays a pivotal role in shaping the user experience. Effective web design
combines both aesthetic and functional considerations to ensure that a website
not only looks appealing but also functions seamlessly to achieve its intended
goals. It requires a deep understanding of design principles, user behavior,
and technology to craft web experiences that captivate and engage users while
achieving the website's objectives.
Chapter – 9
29
9.2 Authorization
Authorization complements authentication and involves defining what
actions or resources users are allowed to access based on their roles or
permissions. It includes:
(ii)Access Control Lists (ACLs): Creating lists that specify which users
or roles have access to certain resources.
(ii) Deploying the application using the chosen hosting platforms, such as
GitHub Pages, Heroku, and MongoDB Atlas.
(v) Version Control and DevOps: A robust version control system, such as
21
0
Git, is fundamental for managing changes to your codebase. Embracing
DevOps practices can streamline development, testing, deployment,
and monitoring processes, ensuring a more efficient and collaborative
development workflow.
Incorporating these aspects into your web development process not only
enhances the functionality and security of your application but also ensures
that it remains adaptable to changing requirements and user expectations.
Successful web development is a continuous journey that requires a
commitment to improvement, user satisfaction, and technological evolution.
This scalability is vital to prevent performance bottlenecks and ensure a
smooth experience for users, even during peak usage.
Chapter - 10
Conclusion
The culmination of this Industrial Training Seminar (ITS) represents a
comprehensive journey through the diverse realms of web development, from
the intricacies of front-end design to the inner workings of back-end logic. Each
chapter has been a stepping stone towards a holistic understanding of web
development, and this conclusion seeks to encapsulate the key takeaways and
broader implications of the knowledge acquired.
Over the course of this ITS, we navigated through the following pivotal topics:
31
foundation of the user-facing side of web applications, enabling the
creation of captivating and responsive interfaces.
(ii) Version Control and Hosting: Our journey ventured into the
realm of version control using Git and GitHub, allowing for the
collaborative
management of code repositories. We explored deployment strategies that
enable the smooth transition of web applications from development
environments to hosting platforms like GitHub Pages, Heroku, and
MongoDB Atlas.
(iii) Backend Web Development: The next leg of the journey delved
into the world of backend development. We acquired the skills to
build server-side applications with Node.js, leveraged NPM for
package
management, harnessed the power of Express.js for creating robust APIs,
and incorporated EJS for dynamic rendering. MongoDB and Mongoose
empowered us to work with databases efficiently.
33
(vi) React.js and React Hooks: Our journey then transitioned into
the domain of modern front-end development, where React.js reigned
supreme. We uncovered the power of component-based architecture,
virtual DOM, state management, and event handling. React Hooks
transformed our approach to functional components, enabling
streamlined state management and side effect handling.
This industrial training seminar has equipped me with not just technical skills,
but a profound understanding of the entire web development ecosystem. It
bridges the gap between the client-facing interface and the server-side logic,
empowering me as a full-stack developer. Beyond the technical aspects, this
training has emphasized the significance of collaboration, version control, and
adhering to best practices—a combination that is indispensable when working
within a development team.
Furthermore, the emphasis on security and authentication underscores the
importance of safeguarding user data and ensuring that web applications are
resilient against potential vulnerabilities.
34
In conclusion, this Industrial Training Seminar serves as a solid foundation for
continued growth and exploration in the domain of web development. It is not
merely about mastering technologies; it is about harnessing them to create
innovative and impactful web applications. The knowledge gained here is a
springboard into the ever-evolving field of web development, where
creativity, problem-solving, and the pursuit of excellence are the driving
forces.
2. https://www.ugc.edu.hk/ [Online].
3. https://www.ugc.edu.hk/ [Online].
4. https://www.sciencegate.app/keyword/265080[Online]
5. https://www.rfwireless-world.com/ [Online]
6. https://www.researchgate.net/publication/228742449_New_technologies_for_web_develop
ment[Online]
7. https://economictimes.indiatimes.com/ [Online]
8. https://www.researchgate.net/ [Online
35