INTERNSHIP REPORT
An Internship Report
Submitted by
SATHISH KUMAR G (71052207046)
For the Internship done at
Ispectra Technologies.
Rathinam 3rd Gate, Third floor, Block A1, Span Ventures SEZ,
Pollachi Main Road, Rathinam Tech Zone, Eachanari Coimbatore - 641021
In partial fulfilment of the requirement for the award of degree of
BACHELOR OF TECHNOLOGY
in
INFORMATION TECHNOLOGY
COIMBATORE INSTITUTE OF ENGINEERING AND TECHNOLOGY
COIMBATORE-641109
ANNA UNIVERSITY: CHENNAI-600 025
COIMBATORE INSTITUTE OF ENGINEERING AND TECHNOLOGY
COIMBATORE-641109
BONAFIDE CERTIFICATE
This is to Certify that the Internship at “ISPECTRA TECHNOLOGIES.”, is a
Bonafide work done by SATHISH KUMAR G [Link] from 3rd July
2024 to 24th July 2024. In partial fulfilment of the requirement for the award of degree
of Bachelor of Technology
SIGNATURE
[Link] N.R , M.E., Ph.D.,
HEAD OF THE DEPARTMENT
Dept. of Information Technology
Coimbatore-641109
Submitted for the Internship Review conducted on
2|P a g e
3|P a g e
INDEX
[Link] Contents [Link]
01. LEARNING OBJECTIVE/INTERNSHIP OBJECTIVE ....... 7
02. COMPANY PROFILE ........................................................... 7
03. INTRODUCTION .................................................................. 7
04. INSTALLATON AND SETUP OF VS CODE .......................8-9
05. BASIC HTML CODE… ......................................................... 9-10
06. HTML&CSS ........................................................................... 10
07. JAVASCRIPT ......................................................................... 11
08. INSTALLATION OF SPRING TOOLS SUITE 4 ................. 12-17
09. INSTALLATION OF MYSQL WORKBENCH ................... 18-99
10. OOPS WITH JAVA ................................................................ 7
11. SPRING BOOT ...................................................................... 7
12. MYSQL COMMANDS .......................................................... 7
13. CONCLUSION ....................................................................... 100
4|P a g e
LEARNING OBJECTIVE/INTERNSHIP OBJECTIVE
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 internship is 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 you stand apart from the rest of the applicants so that you have
an improved chance of landing the position.
COMPANY PROFILE
At ISpectra technologies, we are not just technology enthusiasts; we are architects
of transformation, weaving innovation into the fabric of digital solutions.
Established with a commitment to excellence, ISpectra technologies is a beacon
in the Dynamic landscape of technology, where ideas flourish, and digital
aspirations come to life.
At ISpectra technologies, we envision guiding businesses to prosperity in the
dynamic era of [Link] challenges with innovative solutions that
seamlessly integrate with organizations, transforming aspirations into digital
[Link] on excellence, innovation, integrity, and collaboration, ISpectra
technologies upholds the highest standards, striving for excellence in every
endeavor. Our culture fosters trust within our team and with clients essential to
our success and growth.
At ISpectra, we pledge to build lasting relationships, foster innovation and
empower businesses for sustained success, exceeding expectations and leaving
an indelible mark on the digital landscape through the trust placed in us by clients.
6|P a g e
INTRODUCTION
Java Full Stack Development is an integrated approach to web development that
encompasses both the front-end and back-end aspects of creating web
applications. A Java Full Stack Developer is proficient in using Java for server-
side programming, leveraging frameworks like Spring and Spring Boot to build
robust and scalable backend [Link] the front end, these developers are
skilled in HTML, CSS, and JavaScript, often utilizing modern frameworks such
as Angular, React, or [Link] to create dynamic and responsive user interfaces.
This dual expertise allows them to handle the entire development process, from
designing user interfaces to managing databases, ensuring seamless integration
between the front and back ends.
The role requires a deep understanding of various technologies, tools, and
methodologies, including version control with Git, continuous integration and
deployment (CI/CD), and the use of SQL databases. By combining these skills,
Java Full Stack Developers are equipped to build comprehensive, efficient, and
user-friendly web applications
7|P a g e
INSTALLATION AND SETUP VISUAL STUDIO
INSTALLATION STEPS:
1. Download Visual Studio:
• The official Visual Studio website: Visual Studio Downloads
• Click on the "Download Visual Studio" button.
2. Choose Edition:
• Visual Studio offers different editions (Community, Professional
and Enterprise).
• Choose the edition that suits your needs. For most users, the
Community edition is sufficient and free for individual developers.
3. Run the Installer:
• Once the download completes, run the Visual Studio Installer
executable file.
4. Select Workloads:
• The Visual Studio Installer will prompt you to select workloads.
• Workloads are collections of tools and components needed for
specific
types of development (e.g., .NET desktop development, [Link]
web development, Python development, etc.).
• Choose the workloads you need for your development environment.
• You can always add or remove workloads later.
8|P a g e
BASIC HTML CODE
HTML PROGRAM:
OUTPUT:
9|P a g e
HTML&CSS
HTML (HYPER TEXT MARKUP LANGUAGE):
• HTML (Hyper Text Markup Language) is the standard language for
creating web pages.
• It uses tags to structure content and define elements like text, images,
and links on the World Wide Web.
CSS (CASCADING STYLE SHEETS):
• CSS (Cascading Style Sheets) is a language used to control the
presentation and style of HTML or XML documents on the web.
• It defines how elements should appear on screen, paper, or other
media, enhancing the visual design of web pages.
HTML CODE:
10 | P a g e
CSS CODE:
OUTPUT:
11 | P a g e
JAVASCRIPT
• JavaScript often abbreviated as JS, is a programming language and core
technology of the Web, alongside HTML and CSS. 99% of websites use
JavaScript on the client side for webpage behavior.
• Web browsers have a dedicated JavaScript engine that executes the
client code. These engines are also utilized in some servers and a variety
of apps. The most popular runtime system for non-browser usage
is [Link]
• JavaScript is a high-level, often just-in-time compiled language that
conforms to the ECMAScript standard.
• It has dynamic typing, prototype-based object-orientation, and first-class
functions. multi
paradigm,supporting eventdriven, functional,and imperative programmin
g styles. It has application programming interfaces (APIs) for working
with text, dates, regular expressions, standard data structures, and
the Document Object Model (DOM).
DATA VARI HOIS SCOPE PROTO
TYPES ABLE TING TYPE
S
STRING LET LET GOBAL PERSON
SCOPE
NUMBE CONST COSNT FUNCTION ARRAY
R SCOPE
BOOLEA VAR LOCAL FUNCTI
N SCOPE ON
UNDEFI
NED
NULL
SYMBO
L
OBJECT
12 | P a g e
JAVASCRIPT IMPLEMENTATION IN HTML:
• Implementing JavaScript in HTML refers to embedding JavaScript code
directly within an HTML document.
• This allows the JavaScript code to interact with and manipulate the content
and behavior of the web page dynamically.
• JavaScript can be included within <script> tags in the HTML <head>
or <body> section, or it can be linked to an external JavaScript file using
the <script> tag's src attribute.
• This integration enables developers to enhance the functionality of their
web pages beyond what HTML and CSS alone can achieve
BASIC IMPLEMENTATION:
<script>
// JavaScript code here
</script>
EXTERNAL JAVASCRIPT FILE:
<script src="[Link]"></script>
13 | P a g e
PROGRAM:
14 | P a g e
OUTPUT:
15 | P a g e
INSTALLATION OF SPRING TOOL SUITE 4
STEPS FOR INSTALLATION:
1. Download Spring Tool Suite as per the operating system to the local
machine.
2. Move the downloaded JAR file to the corresponding folder.
3. Unzip this JAR file and open the corresponding folder.
4. Click on the SpringToolSuite4 Application file.
5. Select the directory representing workspace and press
the ‘LAUNCH’ button.
INSTALLATION OF MYSQL WORKBENCH
STEPS FOR INSTALLATION:
1. Browse to the official MySQL Website
2. There you will find the Download button.
3. Scroll down & click on MySQL Community (GPL) Downloads.
4. Click on MySQL Installer for Windows.
16 | P a g e
OOPS WITH JAVA
• Java is a high-level, class-based, object-oriented programming language that
is designed to have as few implementation dependencies as possible.
• It is a general-purpose programming language intended to
let programmers write once, run anywhere (WORA),meaning
that compiled Java code can run on all platforms that support Java without the
need to [Link] applications are typically compiled to bytecode that
can run on any Java virtual machine (JVM) regardless of the
underlying computer [Link] syntax of Java is similar to C and C++,
but has fewer low-level facilities than either of them.
• The Java runtime provides dynamic capabilities (such as reflection and
runtime code modification) that are typically not available in traditional
compiled languages.
• Java gained popularity shortly after its release, and has been a very popular
programming language since [Link] was the third most popular
programming language in 2022 according to [Link] still widely
popular, there has been a gradual decline in use of Java in recent years
with other languages using JVM gaining popularity.
• Java was originally developed by James Gosling at Sun [Link] was
released in May 1995 as a core component of Sun's Java [Link] original
and reference implementation Java compilers, virtual machines, and class
libraries were originally released by Sun under proprietary licenses.
17 | P a g e
JAVA VARIABLES:
• A variable is a container which holds the value while the program is
executed. variable is assigned with a data type.
• A variable is a container which holds the value while the Java program is
executed. The variable is assigned with a data type.
JAVA DATA TYPES:
• Data types specify the different sizes and values that can be stored in the
variable.
• There are two types of data types in Java:
1. PRIMITIVE DATA TYPES:
The primitive data types include char, byte, short, int, long, float
and double.
2. NON-PRIMITIVE DATATYPES:
The non-primitive data types include class, array, interface.
18 | P a g e
ACCESS MODIFIERS IN JAVA:
• In Java, Access modifiers help to restrict the scope of a class,
constructor, variable, method, or data member.
• It provides security, accessibility to the user depending upon the
access modifier used with the element.
• Let us learn about Java Access Modifiers, their types, and the uses
of access modifiers in this article.
TYPES OF ACCESS MODIFIERS IN JAVA:
• There are four types of access modifiers available in Java:
[Link] – No keyword required
[Link]
[Link]
[Link]
JAVA ENCAPSULATION:
• Encapsulation is one of the key features of object-oriented programming
• Encapsulation refers to the bundling of fields and methods inside a
single class.
• It prevents outer classes from accessing and changing fields and methods
of a class. This also helps to achieve data hiding.
19 | P a g e
DATA HIDING:
• Data hiding is a technique of hiding internal object details, i.e., data
members.
• It is an object-oriented programming technique.
• Data hiding ensures, or we can say guarantees to restrict the data access to
class members.
• Data hiding means hiding the internal data within the class to prevent its
direct access from outside the class.
• If we talk about data encapsulation so, Data encapsulation hides the private
methods and class data parts, whereas Data hiding only hides class data
components.
• Both data hiding and data encapsulation are essential concepts of object-
oriented programming.
• Encapsulation wraps up the complex data to present a simpler view to the
user, whereas Data hiding restricts the data use to assure data security
OPERATOR IN JAVA:
• Operators in Java are the symbols used for performing specific
operations in Java.
• Operators make tasks like addition, multiplication which look easy
although
20 | P a g e
JAVA PROGRAM USING STS TOOL
PROGRAM:
OUTPUT:
21 | P a g e
METHODS
• A method is a block of code or collection of statements or a set of code
grouped together to perform a certain task or operation.
• It is used to achieve the reusability of code. We write a method once and
useit
many times. We do not require to write code again and again.
• It also provides the easy modification and readability of code, just by
adding
or removing a chunk of code.
• The method is executed only when we call or invoke it.
METHOD DECLARATION:
• The method declaration provides information about method attributes.
• Such as return-type, name, and arguments.
• It has six components that are known as method header.
EXAMPLE:
package firstproject;
public class java
{
Public static int add (int a,int b)
{
22 | P a g e
Return a+b;
}
}
METHOD CALLING:
• Once we have defined a method, it should be called.
• The calling of a method in a program is simple.
• When we call or invoke a user-defined method, the program control
transfer
to the called method.
EXAMPLE:
package firstproject;
public class Addition{
public static void main(String[] args{
Addition ad = new Addition();
int result = [Link](5, 3);
[Link]("The result is: " + result);
PROGRAM: }
}
23 | P a g e
OUTPUT:
24 | P a g e
POLYMORPHISM
• Polymorphism allows methods to do different things based on the object
it is acting upon, even if they share the same name.
• It provides a way to perform a single action in different forms
CONSTRUCTOR
• Constructor is a special type of method that is automatically called when
a object of a class is created.
• It’s used to initialize the object’s state
• In java, there are several important properties they are
[Link]
[Link] type
[Link]
[Link] invocation
[Link] explicit return
[Link]
[Link] constructor
[Link]
DEFAULT CONSTRUTOR
• Default constructor is a constructor
• That is automatically created by the compiler if no other constructors
are defined in the class.
PARAMETERIZED CONSTRUCTOR
• A parameterized constructor in Java is a constructor that accepts
parameters when an object of a class is instantiated.
• Unlike the default constructor, which has no parameters and initializes
the object to default values, a parameterized constructor allows you to
initialize the object with specific values passed as arguments during
object creation.
25 | P a g e
INHERITANCE
• Inheritance refers to the mechanism by which one class can inherit
properties, methods & behaviors from another class (called the superclass
or parent class).
• Single inheritance
• Multi-level inheritance
• Hierarchical inheritance
• Hybrid inheritance
SINGLE INHERITANCE
• Single inheritance refers to the concept where a class can inherit properties
and behavior from only one superclass
MULTI-LEVEL INHERITANCE
• Multilevel inheritance refers to a scenario where a classextends another
class, and
that subclass itself becomes a superclass for another subclass.
• This creates a chain of inheritance with multiple levels.
HIERARCHICAL INHERITANCE
• Hierarchical inheritance refers to a type of inheritance where multiple
classes are
derived from a single superclass.
• Each subclass inherits properties and behaviors from the same superclass,
forming a hierarchical structure
-4-|P a g e
HYBRID INHERITANCE
• Hybrid inheritance refers to a combination of inheritance types, typically
involving both single and multiple inheritance.
• Java directly supports only single inheritance of classes (where a class can
inherit from only one superclass), but it supports multiple inheritance of
interfaces
SUPER KEYWORD
• The 'super' keyword allows referencing the parent class or superclass of a
subclass in Java.
• It is often employed to access members (fields or methods) of the
superclass that have been overridden in the subclass.
• You can call the superclass's method from within the subclass using super.
methodName().
EXCEPTION HANDLING
• Exception handling is a crucial part of writing robust and error-resilient
programs.
• It allows a program to handle unexpected situations (exceptions) without
crashing.
• Here are some common ways of handling exceptions in various
programming languages
Try: Block of code to be tested for exceptions.
Catch: Block of code to be executed if an exception occurs.
Finally: (Optional) Block of code to be executed after try/catch.
-5-|P a g e
try {
riskyOperation();
}
catch (SomeExceptionType e)
{
[Link]("An error occurred: " + [Link]());
}
catch (AnotherExceptionType e) {
[Link]("Another error occurred: " + [Link]());
}
finally {
[Link]("This will always execute.");
}
Throwing Exceptions: Using the throw keyword to signal an error
condition.
throw new ExceptionType("Error message");
-6-|P a g e
COLLECTIONS:
• Any group of individual objects that are represented as a single unit is
known as a Java Collection of Objects. In Java, a separate framework named
the “Collection Framework” has been defined in JDK 1.2 which holds all
the Java Collection Classes and Interface in it.
• In Java, the Collection interface ([Link]) and Map interface
([Link]) are the two main “root” interfaces of Java collection classes.
-7-|P a g e
CONTROL STATEMENTS
• Control statements in Java allow you to dictate the flow of execution of your
program based on certain conditions.
• They can be broadly categorized into decision-making statements, looping
statements, and branching statements.
DECISION-MAKING STATEMENTS:
if Statement
• In Java, the "if" statement is used to evaluate a condition.
• The control of the program is diverted depending upon the specific
condition.
• The condition of the If statement gives a Boolean value, either true or false.
if-else Statement
• The if-else statement is an extension to the if-statement, which uses another
block of code, i.e., else block.
• The else block is executed if the condition of the if-block is evaluated as
false.
if-else-if Ladder
• The if-else-if statement contains the if-statement followed by multiple else-if
statements.
• In other words, we can say that it is the chain of if-else statements that create
a decision tree where the program may enter in the block of code where the
condition is true.
• We can also define an else statement at the end of the chain
-8-|P a g e
switch Statement
• In Java, Switch statements are similar to if-else-if statements.
• The switch statement contains multiple blocks of code called cases and a
single case
is executed based on the variable which is being switched.
• The switch statement is easier to use instead of if-else-if statements.
• It also enhances the readability of the [Link] use the for loop only
when we
exactly know the number of times, we want to execute the block of code.
LOOPING STATEMENTS:
• Looping statements in Java allow you to execute a block of code repeatedly
based on a condition or a specific number of times.
• Java provides several types of loops:
for Loop
• In Java, for loop is similar to C and C++. It enables us to initialize the loop
variable, check the condition, and increment/decrement in a single line of
code.
• for loop is a control flow statement that allows you to execute a block of
code
repeatedly based on a specified condition
for Loop (for-each)
• Java provides an enhanced for loop to traverse the data structures like array
or
collection.
• In the for-each loop, we don't need to update the loop variable.
-9-|P a g e
while Loop
• The while loop is also used to iterate over the number of statements multiple
times.
• However, if we don't know the number of iterations in advance, it is
recommended
to use a while loop.
• Unlike for loop, the initialization and increment/decrement doesn't take
place inside
the loop statement in while loop.
do-while Loop
• The do-while loop checks the condition at the end of the loop after executing
the
loop statements.
• When the number of iteration is not known and we have to execute the loop
at least
once, we can use do-while loop.
- 10 - | P a g e
FILE I/O:
• File I/O in Java involves using classes from the [Link] package.
• Below are some examples of how to perform basic file operations such as
reading
from and writing to files.
Reading from a File
• To read from a file using the [Link] package, you can use the FileReader
and BufferedReader classes.
Writing to a File
• To write to a file, you can use the FileWriter and BufferedWriter classes.
STRING:
• The String class represents character strings.
• All string literals in Java programs, such as "abc", are implemented as
instances of this class.
• Strings are constant; their values cannot be changed after they are created.
• String buffers support mutable strings. Because String objects are immutable
they can be shared.
STRING METHODS
charAt()
codePointAt()
codePointBefore()
codePointCount()
compareTo()
- 11 - | P a g e
SPRING BOOT FEATURES
• Spring Boot is a popular framework for building Java-based applications,
particularly microservices.
• It simplifies the development process by providing a wide range of features
out-of-the-box, which makes it easier to get started and to develop robust
applications quickly.
INITIALIZER
• Initializer is a block of code that runs when an instance of a class is created.
• There are two types of initializers: instance initializers and static initializers.
Instance Initializers:
• Instance initializers are blocks of code inside a class that are executed each
time an instance of the class is created.
• They are executed before the constructor.
Static Initializers:
• Static initializers are blocks of code inside a class that are executed once
when the class first loaded into memory.
• They are used to initialize static variables.
PROJECT STRUCTURE
• Project structure is crucial for maintaining a clean, scalable, and manageable
codebase.
• Here's a typical project structure for a Java application, especially when
using build tool like Maven or Gradle, and frameworks such as Spring Boot.
- 12 - | P a g e
MYSQL COMMANDS
• To interact with a MySQL database in Java, you can use JDBC (Java Database
Connectivity) API.
• JDBC provides a standard interface for accessing databases and executing SQL
commands. Here’s a step-by-step guide to executing MySQL commands in
Java.
DDL
• DDL (Data Definition Language) commands in SQL are used to define,
alter, and manage database structures like tables, indexes, and views.
• In Java, you can execute DDL commands using JDBC (Java Database
Connectivity).
• The DDL operations are Creating a table, Altering a table, Dropping a table.
DML
• DML (Data Manipulation Language) commands are used to manage data
within
database tables.
• The primary DML operations include inserting, updating, deleting, and
querying data.
• The DML operations are Insert data, Update data, Delete data, Query data.
DCL
• DML (Data Manipulation Language) commands are used to manage data
within database tables.
• The primary DML operations include inserting, updating, deleting, and
querying data.
• The DCL operations are Grant Privileges, Revoke Privileges.
- 13 - | P a g e