Report File
Report File
Report File
ON
Svelte Development
by
Nikhil Jain
(20EAOCS033)
1
INDUSTRIAL TRAINING PROJECT REPORT
ON
Svelte Development
by
Nikhil Jain
(20EAOCS033)
2
RAJASTHAN TECHNICAL UNIVERSITY
3
Company Certificate
CERTIFICATE
4
DECLARATION
I hereby declare that the Industrial Training project report entitled “Svelte Development” was
carried out and written by me under the guidance of AIETM, Jaipur, Mr. Sanjay Tiwari
Assistant Professor, Department of Computer Science & Engineering, Arya Institute of
Engineering Technology & Management, Jaipur. This work has not been previously formed the
basis for the award of any other degree or diploma or certificate nor has been submitted elsewhere
for the award of any other degree or diploma.
Place: Jaipur
Date :6/12023 Student Name: Nikhil Jain
RTU Roll Number:20EAOCS033
5
ACKNOWLEDGEMENT
A project of such a vast coverage cannot be realized without help from numerous
sources and people in the organization. I am thankful to Dr. Arvind Agarwal,
President, Arya Group of Colleges, Dr. Puja Agarwal, Vice President, Arya
Group of Colleges and Dr. Surendra Sharma, Director, AIETM for providing
me a platform to carry out such an industrial training successfully
I am also very grateful to Mr. Sanjay Tiwari (HOD, CSE, AIETM) for his kind support.
I would like to take this opportunity to show my gratitude towards Mr. Sandeep
Tuli (Coordinator, industrial Training Seminar) who helped me in successful
completion of my Final Year Industrial Training. He has guided, motivated &
were source of inspiration for me to carry out the necessary proceedings for the
training to be completed successfully.
I am thankful to Mr. Aryan Singh for his/her kind support and providing me
expertise of the domain to develop the project.
I would also like to express my hearts felt appreciation to all of my friends whose
direct or indirect suggestions help me to develop this project and to entire team
members for their valuable suggestions.
Submitted by:
Nikhil Jain
6
Abstract
Svelte, a cutting-edge JavaScript framework, has emerged as a revolutionary tool for web developers
seeking efficiency, performance, and a streamlined development experience. This report explores the
key aspects of Svelte development, including its fundamental principles, advantages over traditional
frameworks, core features, and the growing community behind it..
In the ever-evolving landscape of web development, frameworks play a pivotal role in shaping the
developer experience and the performance of the applications they build. Svelte, introduced in 2016 by
Rich Harris, takes a novel approach to front-end development by shifting much of the work from the
browser to the build step. Unlike traditional frameworks that rely on runtime libraries in the browser,
Svelte compiles components into highly optimized JavaScript at build time, resulting in smaller bundle
sizes and improved runtime performance.
At the heart of Svelte's architecture is the concept of reactive declarations. Instead of relying on a
virtual DOM, Svelte uses reactive programming to declaratively describe how the UI should react to
changes in state. This approach simplifies code and enhances predictability, as developers specify the
desired outcome rather than the step-by-step process.
Svelte follows a component-based architecture, allowing developers to create modular and reusable UI
elements. Components encapsulate their logic, styles, and markup, promoting maintainability and
scalability. The simplicity of Svelte components, without the need for boilerplate code or complex
abstractions, accelerates the development process.
Unlike traditional frameworks that ship with a runtime library, Svelte performs most of its work during
the build process. This results in optimized and highly efficient JavaScript that directly manipulates the
DOM. By eliminating the need for a runtime framework in the delivered code, Svelte minimizes the
client-side footprint, leading to faster load times and improved performance.
One of the most significant advantages of Svelte is its ability to generate smaller bundle sizes compared
to frameworks like React or Angular. The absence of a runtime library in the final output reduces the
amount of code shipped to the browser, resulting in quicker load times and improved user experience,
especially on mobile devices..
Svelte's unique approach to web development, centered around build-time compilation and reactive
programming, positions it as a compelling choice for modern front-end development. The framework's
emphasis on simplicity, performance, and a developer-friendly experience sets it apart from traditional
alternatives. As the community continues to grow and new features are added, Svelte is poised to play a
pivotal role in shaping the future of web development, offering a refreshing and efficient alternative for
developers seeking innovation and agility in their projects.
7
TABLE OF CONTENTS
Title 1
Certificate 3
Company Certificate 4
Declaration 5
Acknowledgement 6
Abstract 7
List of Figures 9
Chapter 1 – Introduction 10
1.1 Company Profile 10
1.2 Significance of the training 11
Chapter 2 – Technology specification 12
2.1 HTML 12-13
2.2 CSS 14-15
2.3 JavaScript 16-17
2.4 Tailwind 18
2.5 Svelte 19
8
List of Figures
3.3 Making of UI 23
9
Chapter 1
Introduction
1.1 Company Profile
TensaX Innovations Pvt. Ltd. is a leading Artificial Intelligence company established
in 2017 dealing in AI & Emerging Technologies, Product Development and AI
Training Programs.
We believe that you will appreciate this learning excursion and shape your future with
us at Tensax Innovation Lab
Instagram - https://www.instagram.com/tensaxinnovationlab/
Facebook - https://www.facebook.com/tensaxinnovations/
10
1.2 Significance of Training
Swift knowledge
A well planned and systematic training program provides an opportunity for me for quick
learning because it reduces the time and costs involved in training. Moreover, efficient
training helps to avoid the delay and waste of efforts in learning. In this way, training
facilitates quick learning without losing time and efforts.
Superiority development
Since trained employees are less likely to produce operational errors or mistakes, the quality
of output will be maintained. Because informal training programs, employees are trained with
standardized procedures.
Less administration
A well-trained employee is self-reliant who knows what to do and how to do the tasks.
Hence, if the employee is provided with adequate training, the need for supervision will be
less.
Economical Operation
If employees are well trained, they can utilize the available resources properly and efficiently;
hence, this will be economical to operate.
High spirits
Training not only improves the basic skill and knowledge of employees but also molds their
attitudes towards organization’s activities and generate greater loyalty. Higher performance,
good working relationship, greater employee satisfaction, job security etc. will lead to high
morale among the employees towards their jobs, organization, and society.
11
Chapter 2
Technology Specification
2.1 HTML
HTML (HyperText Markup Language) is the standard markup language for creating web pages
and web applications. HTML is used to define the structure and content of a web page, and it is
written in the form of HTML elements consisting of tags enclosed in angle brackets.
HTML was first developed in the late 1980s, and it has evolved over the years to become the
standard markup language for the web. The latest version of HTML is HTML5, which was
released in 2014 and is supported by all modern web browsers.
One of the main benefits of HTML is its simplicity. It is easy to learn and use, and it is widely
supported by web browsers and other tools. HTML is also a flexible language, and it can be
used to create a wide range of web content, including static pages, dynamic web applications,
and mobile applications.
HTML consists of a series of elements that are used to define the content and structure of a web
page. These elements are represented by tags, which are enclosed in angle brackets. Some
common HTML elements include:
Headings: Headings are used to define the different levels of headings on a web page,
and they range from h1 (the largest) to h6 (the smallest).
Paragraphs: Paragraphs are used to define blocks of text on a web page.
Links: Links are used to connect different pages or documents on the web, and they are
created using the anchor tag.
Images: Images are used to display pictures on a web page, and they are inserted using
the img tag.
Lists: Lists are used to organize content on a web page, and they come in two types:
unordered lists (bulleted lists) and ordered lists (numbered lists).
Tables: Tables are used to display data in rows and columns, and they are created using
the table, tr, and td tags.
HTML has come a long way since its initial release in 1993. The latest version of HTML is
HTML5, which was released in 2014 and provides a number of new features and capabilities.
These include new semantic tags, like header, nav, article and footer, which allow developers to
create more meaningful and structured web pages. Additionally, HTML5 includes new form
controls, such as date pickers and search fields, which make it easier to create more interactive
forms and applications.
Another important aspect of HTML is its accessibility. By using semantic tags and attributes,
web developers can create web pages that are more accessible to users with disabilities. This is
increasingly important as the number of web users with disabilities continues to grow.
In conclusion, HTML is an essential technology for creating web pages and is a fundamental
building block of the World Wide Web. It is simple to learn and use, making it accessible to
12
web developers and designers of all skill levels. With the release of HTML5, developers can
create more meaningful and structured web pages with new features and capabilities.
Additionally, HTML can be used in combination with other technologies, such as CSS and
JavaScript, to create rich and dynamic web experiences. Moreover, its accessibility feature is an
important aspect that helps to create web pages that are more accessible to users with
disabilities.
13
2.2 CSS
CSS (Cascading Style Sheets) is a style sheet language used for describing the look and
formatting of a document written in HTML. CSS is used to control the style and layout of a
website, including colors, fonts, and page layout. It is a cornerstone technology of the World
Wide Web, alongside HTML and JavaScript.
CSS was first developed in the mid-1990s as a way to separate the content of a web page from
its presentation. Prior to CSS, HTML was used to both define the content of a web page and
control its layout and appearance. This made it difficult to maintain and update web pages, as
any changes to the layout or appearance had to be made directly in the HTML code.
CSS allows web developers and designers to separate the content of a web page from its
presentation, making it easier to maintain and update web pages. With CSS, layout and
appearance can be controlled using a separate stylesheet file, which can be linked to from the
HTML code. This means that changes to the layout or appearance of a website can be made in
a single location, rather than having to be made in multiple places throughout the HTML code.
CSS is written in the form of style rules, which consist of a selector and a declaration. The
selector specifies which element or elements the style rule applies to, and the declaration
specifies the style properties and values that should be applied to those elements. For example,
the following CSS rule applies the "color" property to all paragraphs on a web page, setting the
text color to red:
p { color: red; }
CSS has a number of different properties that can be used to control the style and layout of a
web page. Some common CSS properties include:
Color: The color property is used to set the color of text, backgrounds, borders, and
other elements.
Font: The font property is used to set the font face, size, and style of text.
Margin: The margin property is used to set the space around an element, outside of its
border.
Padding: The padding property is used to set the space inside an element, between its
content and its border.
Width and height: The width and height properties are used to set the size of an
element.
CSS also has a number of advanced features that allow developers to create complex layouts
and styles for web pages. Some of these features include:
Box model: The box model is a conceptual model that describes the way that CSS
handles the layout and dimensions of elements on a web page. It consists of margins,
borders, padding, and the content of an element.
Floats: Floats are used to wrap text around images or other elements, or to create multi-
column layouts.
14
Additionally, CSS has a lot of features that help to create responsive web pages. This
means that web pages can adapt to different screen sizes and devices, such as desktop
computers, laptops, tablets, and smartphones. Using media queries and flexible grid and
layout systems, developers can create web pages that look and function well on a wide
range of devices.
CSS also provides a number of advanced styling options, such as the ability to use CSS
pre-processors, like SASS and LESS, which allow developers to use variables,
functions, and other programming constructs to make their CSS code more efficient and
maintainable. Additionally, CSS has features like CSS Grid, Flexbox and CSS variables
which makes it easier for developers to create responsive and dynamic layout and
design.
In conclusion, CSS is an essential technology for creating visually appealing and
engaging web pages. It allows developers to separate the presentation of a web page
from its structure and content, making it easier to maintain and update web pages. CSS
provides a wide range of styling options, including the ability to control the layout and
design of a web page, as well as the ability to control the behaviour of web pages and
create animations and interactive effects. Additionally, responsive web design features
make it possible for web pages to adapt to different screen sizes and devices. With the
addition of advanced features like pre-processors, grid and flexbox it is easier for
developers to create responsive and dynamic layout and design. CSS is an essential tool
for creating visually stunning and user-friendly websites and it continues to evolve and
adapt to the latest design trends and technology trends.
15
2.3 JavaScript
JavaScript is a programming language that is commonly used to add interactivity and dynamic
functionality to websites. JavaScript can be used to create games, animations, and other
interactive elements on a website. It is a client-side scripting language, which means that it is
executed by the user's web browser, rather than on the server.
JavaScript was first developed in the mid-1990s, and it has become an essential component of
modern web development. It is supported by all modern web browsers, and it is often used in
conjunction with other languages, such as HTML and CSS, to create web applications and
interactive websites.
One of the main benefits of JavaScript is its ability to manipulate the Document Object Model
(DOM) of a web page. The DOM is a tree-like representation of a web page, and it allows
JavaScript to access and modify the content and layout of a page. This makes it possible to
create dynamic and interactive web pages that can respond to user input and change in real-
time.
JavaScript is a versatile language, and it can be used to perform a wide range of tasks. Some
common uses of JavaScript include:
Form validation: JavaScript can be used to validate user input in forms, ensuring that
required fields are filled out and that data is entered in the correct format.
Image sliders: JavaScript can be used to create image sliders or carousels that allow
users to browse through a series of images.
Animations: JavaScript can be used to create animations and other interactive effects on
a web page.
Games: JavaScript can be used to create simple games and interactive experiences on a
web page.
JavaScript is an object-oriented language, which means that it is based on the concept of
objects that have properties and methods. Objects in JavaScript can represent real-world
objects, such as a person or a car, or they can be more abstract, such as a mathematical concept
or a piece of data.
JavaScript is an essential skill for web developers and designers, and it is a key technology for
building modern web applications. If you are interested in learning JavaScript, there are many
online resources and tutorials available to help you get started.
JavaScript is a versatile language and can be used for both front-end and back-end
development. On the front-end, JavaScript can be used to create dynamic user interfaces,
handle user input, and communicate with a server to update information on a web page without
requiring a page refresh. On the back-end, JavaScript can be used with technologies such as
Node.js to create server-side applications and APIs.
16
JavaScript is an object-oriented language, which means that it allows developers to create and
manipulate objects and their properties. JavaScript also supports functional programming,
which allows developers to write code that is more modular and easier to maintain.
JavaScript has a number of popular libraries and frameworks that make development faster and
easier. Some popular front-end libraries and frameworks include jQuery, Angular, and React.
Back-end frameworks include Node.js and Express.
JavaScript is a constantly evolving language and new features are added regularly. Some recent
additions to the language include the async/await feature, which allows developers to write
asynchronous code in a more readable and easy-to-understand format, and the ECMAScript 6
(ES6) update, which introduced features such as arrow functions and template literals.
Overall, JavaScript is an essential tool for creating interactive and dynamic websites and web
applications. Its versatility, popularity, and constantly evolving nature make it a valuable skill
for any web developer.
17
2.4 Tailwind
Tailwind CSS has emerged as a popular utility-first CSS framework, designed to simplify and
speed up the web development process. Unlike traditional frameworks like Bootstrap or
Foundation, Tailwind CSS takes a different approach, providing a set of low-level utility
classes that you can use directly in your HTML. This guide will explore the key features,
advantages, and best practices of Tailwind CSS.
Tailwind is highly configurable. You can customize the default settings in the configuration file
to match your project's specific needs. This includes adjusting colors, spacing, breakpoints, and
more. The configuration file provides fine-grained control over the generated CSS, allowing
you to tailor it to your project requirements.
Tailwind makes it easy to create responsive designs by providing responsive utility classes.
You can define different styles for various screen sizes, ensuring a seamless user experience
across devices. For example, you can use md:text-lg to set a larger font size on medium and
larger screens.
Tailwind comes with an extensive color palette, allowing you to apply colors to your elements
using pre-defined classes. This palette includes a range of shades for each color, making it easy
to maintain a consistent color scheme throughout your application.
Tailwind's plugin system enables developers to extend its functionality. There are various
community-developed plugins that add features like additional utilities, components, or
integrations with other tools. This extensibility allows Tailwind to adapt to diverse project
requirements.
Introduced in Tailwind CSS v2.1, the JIT mode optimizes the build process by generating
styles on-the-fly based on the classes used in your project. This results in a significantly smaller
CSS file, reducing the overall file size and improving performance.
Tailwind CSS integrates seamlessly with popular build tools like Webpack, Parcel, and
PostCSS. You can configure your build process to process and optimize the Tailwind styles.
Additionally, you can use the Tailwind CLI to generate a CSS file or apply JIT mode during
development.
18
2.5 Svelte
Svelte is a modern JavaScript framework that stands out from traditional frameworks by
shifting the burden of work from the browser to the build step. Developed by Rich Harris and
released in 2016, Svelte introduces a novel approach to building web applications that focuses
on compiling components during build time, resulting in highly optimized and efficient code
for the browser.
At the core of Svelte is the concept of a component, a self-contained unit that encapsulates
HTML, CSS, and JavaScript logic. Unlike other frameworks that rely on virtual DOM diffing
at runtime, Svelte compiles components into highly optimized JavaScript code during the build
process. This approach eliminates the need for a runtime framework in the final bundle,
resulting in smaller file sizes and faster runtime performance.
Svelte's syntax is clean and intuitive, borrowing concepts from HTML, CSS, and JavaScript to
create a component-based architecture. The framework provides a reactive system where
variables can be declared as reactive and automatically update the DOM when their values
change. This reactivity is achieved without the need for complex state management libraries,
making code simpler and more readable.
One of Svelte's notable features is its rich animation system. Animations can be easily defined
and integrated into components, enhancing the user experience with smooth transitions and
dynamic effects. The framework also includes a built-in state machine, enabling developers to
manage complex UI states with ease.
Svelte's approach to styling is unique as well, with scoped styles that are automatically
encapsulated within components. This promotes clean and maintainable styles without the risk
of global conflicts.
Building with Svelte involves a straightforward process. Developers write components using
the Svelte syntax, and these components are then compiled into highly optimized JavaScript
during the build phase. The resulting bundle can be easily deployed to a web server or content
delivery network.
Svelte has gained popularity for its simplicity, performance, and developer experience. Its
unique compilation approach makes it a compelling choice for projects where optimizing for
runtime performance and minimizing bundle size are critical considerations. As the web
development landscape continues to evolve, Svelte stands out as an innovative framework that
challenges traditional paradigms and offers a fresh perspective on building web applications.
19
Chapter 3
Project Description
The Sri Aurobindo project represents a harmonious integration of modern web development
technologies, combining the efficiency of Svelte, the utility of Tailwind CSS, and the robust
backend capabilities of Firebase. This report explores the key aspects of the project, its four
major sections—Short Video, Question-Answer, Word Meaning, and Posters—and the
inclusion of a sophisticated chatbot designed to engage users in exploring the profound works
of Sri Aurobindo.
Project Overview:
**1. Svelte Framework:
Svelte, known for its unique approach to web development, serves as the foundation for the Sri
Aurobindo project. Its build-time compilation and reactive programming principles align
seamlessly with the project's goal of delivering a responsive and performant user experience.
The component-based architecture of Svelte facilitates the creation of modular sections, making
the project scalable and maintainable.
Major Sections:
**1. Short Video Section:
The Short Video section of the project offers users a dynamic and visually engaging way to
explore the teachings of Sri Aurobindo. Leveraging Svelte's reactivity, the section seamlessly
presents a curated collection of short videos. Users can navigate through the content, enjoying
an immersive multimedia experience. The integration of Tailwind CSS ensures a visually
appealing layout, enhancing user engagement.
20
**4. Posters Section:
The Posters section showcases visually captivating posters related to Sri Aurobindo's teachings
and philosophy. With Svelte handling the frontend components, Tailwind CSS providing a
responsive design, and Firebase managing image storage and retrieval, this section creates a
visually stunning gallery for users to explore. The combination of these technologies ensures
that the posters are presented in an aesthetically pleasing and user-friendly manner
21
3.2 Architecture Diagram
22
3.3 Tasks
1) Making of UI
Creating a compelling user interface (UI) for the Sri Aurobindo project
involved a meticulous journey that combined creativity, functionality, and
a deep understanding of the project's purpose. The UI, developed using the
Svelte framework and enhanced with Tailwind CSS, was carefully crafted
to provide users with an immersive, aesthetically pleasing, and user-
friendly experience across all sections.
23
1. Short Video Section:
The Short Video section of the project offers users a dynamic and visually engaging way to
explore the teachings of Sri Aurobindo. Leveraging Svelte's reactivity, the section seamlessly
presents a curated collection of short videos. Users can navigate through the content,
enjoying an immersive multimedia experience. The integration of Tailwind CSS ensures a
visually appealing layout, enhancing user engagement.
24
2. Question-Answer Section:
The Question-Answer section provides a platform for users to delve deeper into the
philosophy of Sri Aurobindo. Svelte's reactive statements enable real-time updates as users
interact with the Q&A interface. Firebase handles the storage and retrieval of questions and
answers, ensuring a seamless experience. Tailwind CSS styling enhances the readability and
visual appeal of the content, creating an inviting space for intellectual exploration.
25
3. Word Meaning Section
In the Word Meaning section, users can explore the profound meanings of key terms and
concepts associated with Sri Aurobindo's work. Svelte's component-based architecture allows
for the creation of an intuitive interface, and Tailwind CSS styling ensures a consistent and
visually pleasing presentation. Firebase serves as the backend, managing the storage and
retrieval of word meanings, creating a comprehensive and interconnected learning
experience.
26
4. Posters Section:
The Posters section showcases visually captivating posters related to Sri Aurobindo's teachings
and philosophy. With Svelte handling the frontend components, Tailwind CSS providing a
responsive design, and Firebase managing image storage and retrieval, this section creates a
visually stunning gallery for users to explore. The combination of these technologies ensures
that the posters are presented in an aesthetically pleasing and user-friendly manner.
27
Chapter 4
Snapshots of the Project
28
29
30
Future Scope
As the Sri Aurobindo project continues to evolve, there are exciting possibilities and potential
enhancements that can enrich the user experience, broaden the reach, and further amplify the
project's impact. The roadmap for the future includes both technical advancements and content
expansions, with a particular focus on introducing innovative features like a mind map
visualization enhanced with audio elements.
b. Audio Annotations:
Enhancing the mind map with audio annotations would provide an additional layer of richness
to the user experience. Audio snippets, narrations, or discussions related to each node on the
mind map could offer users a nuanced understanding of the interconnected ideas, fostering a
deeper connection with the teachings of Sri Aurobindo.
31
Conclusion
The creation of the Sri Aurobindo project's UI was a collaborative and dynamic process that
seamlessly blended the strengths of Svelte and Tailwind CSS. The UI's success lies not only in
its visual appeal but in its ability to enhance the overall user experience across diverse sections,
each with its unique purpose and content.
By leveraging the power of Svelte's component-based architecture and Tailwind CSS's utility-
first styling, the UI designers successfully translated the vision of the project into a tangible and
engaging digital interface. The result is a UI that invites users to explore the profound teachings
of Sri Aurobindo in a visually captivating, intellectually stimulating, and spiritually enriching
manner. The Sri Aurobindo project's UI stands as a testament to the artistry of design and the
seamless integration of technology and aesthetics in the realm of web development.
32
REFERENCES
1. https://recruitinginnovation.com/front-end-technologies/
2. https://developer.mozilla.org/en-
US/docs/Web/API/Document_Object_Model/Introduction
3. https://www.tutorialspoint.com/
4. https://www.wikipedia.org/
5. https://php.net/
6. https://mysql.com/
7. https://geeksforgeeks.org/
8. https://www.apachefriends.org/
33