Java Application Development - Internship Report - 2023!24!1
Java Application Development - Internship Report - 2023!24!1
UNIVERSITY BELAGAVI-590018
INTERNSHIP REPORT
ON
Submitted By
Mohammed Shafi
3GU20CS019
Dr. SHASHIKALA P
CERTIFICATE
Examiners:
1.
2.
ACKNOWLEDGEMENT
All the thanks for who have given guidance and wisdom and enabled us to complete
this task. We consider it a privilege to express a few words of gratitude in depth and respect
to all those, who guided and inspired for the successful completion of the internship.
I would like to thank Mr. Nagamahesh B S, the charged instructor of the internship
program for his positive and effective advices prior working.
I am also thankful to my all our department professors, parents and my friends for
their encouragement, affection and moral support showered on me during my entire course.
MOHAMMED SHAFI
(3GU20CS019)
ABSTRACT
ABOUT COMPANY
OPPORTUNITIES OF INTERNSHIP
An internship can provide a student with paid professional work experience in a safe
and structured environment with help from expert.
Typically an intern will be assigned a worksite mentor and school based internship
coordinator.
The worksite mentor will be help train a student and advise him or her on how to
navigate a particular worksite culture and interact with other workers.
The school internship coordinator helps the mentor and student build a strong
relationship that will help the intern have positive outcome from their internship
experience.
The internship coordinator can also help the student learn how to manage their
expectations and implement successful work habits.
METHODOLOGY
There were several facilitation techniques used by the trainer which included question
and answer, brainstorming, group discussions, case study discussions and practical
implementation of some of the topics by trainees in online mode. The multitude of
training methodologies was utilized in order to make sure all the participants get the
whole concepts and they practice what they learn, because only listening to the trainers
can be forgotten, but what the trainees do by themselves they will never forget. After
that the recorded sessions also shared through the drive links and the post-tests were
administered and the final course evaluation forms were filled in by the participants ,
the trainer expressed his closing remarks and reiterated the importance of the training
for the trainees in their daily activities and their readiness for applying the learnt
concepts in their assigned tasks. Certificates of completion were distributed among the
participants at the end.
Key components and solutions in the report include proficiency in Java, web development
frameworks, database integration, user-friendly web interfaces, and practical experience in a
professional web development environment
INDEX
CHAPTER 1................................................................................................................................................. 1
1.1 Introduction..................................................................................................................... 1
1.2 Team............................................................................................................................... 2
1.3 Services........................................................................................................................... 2
1.3.1 Enterprise Application Services.......................................................................2
1.3.2 Web designing and Development....................................................................2
1.3.3 Mobile Application Development...................................................................3
1.3.4 Internet of Things............................................................................................ 3
1.3.5 Training Services............................................................................................. 4
1.4 Company Products.......................................................................................................... 4
1.5 Our Clients...................................................................................................................... 4
CHAPTER 2................................................................................................................................................. 7
2.1 Introduction..................................................................................................................... 7
2.2 Tools Used:................................................................................................................... 14
2.3 Technologies Used........................................................................................................ 14
CHAPTER 3............................................................................................................................................... 29
3.1 Introduction................................................................................................................... 29
3.2 Modules Description..................................................................................................... 29
CHAPTER 4............................................................................................................................................... 29
CHAPTER 5.............................................................................................................................................. 33
CHAPTER 6............................................................................................................................................... 33
REFERENCES........................................................................................................................................... 36
LEARNING OBJECTIVES/INTERNSHIP OBJECTIVES
The main objectives of the internship are:
22-08-2023 Tuesday
2nd WEEK
CHAPTER 1
COMPANY PROFILE
1.1 Introduction
Infidata Technologies is an ISO 9001: 2015 Certified Company and registered under MSME,
Government of India, headquartered in Bengaluru started in the year 2015. Company is
highly specialized in the design and development of website, software application
development, Mobile application development, E-Commerce solution and more. Company
has a team of expert’s professional works on the latest software tools and technologies to give
the best and promising services to the customers. Company is equipped with the state-of-art
work station in the software application development.
Vision
To become a leading performer and grow as a major IT service provider, in providing
quality Web application, Software Development solutions and corporate training in the
competitive global marketplace.
Mission
To ensure strategic planning with quality products and profitable growth through
customer service, innovation, quality and commitment.
1.2 Team
1.3 Services
● Internet of Things
● Training Services
The web development process includes web design, web content development, client-
side/server-side scripting and network security configuration, among other tasks.
Web development ranges from creating plain text pages to complex web-based applications,
social network applications and electronic business applications.
● Client-side coding
● Server-side coding
● Database technology
Mobile applications frequently serve to provide users with similar services to those accessed
on PCs. Apps are generally small, individual software units with limited function.
Vendors usually offer a mobile application platform to clients that want to go mobile or enter
the mobile market. The platform includes migration tools and resources that support a mobile
interface, or a development environment that allows creating new apps aimed at the Apple
and Android markets. A platform approach to mobile application development helps provide
a comprehensive model with tool suites that are accessible to developers and other users.
Internet of things (IoT) is a computing concept that describes the idea of everyday
physical objects being connected to the internet and being able to identify themselves to other
devices. Most people think about being connected in terms of computers, tablets and
smartphones. IoT describes a world where just about anything can be connected and
communicate in an intelligent fashion. In other words, with the internet of things, the physical
world is becoming one big information system.
The training programs that are organized by us are of the best standards. We have
some of the best trainers who conduct these programs. All these trainers have been in the
industry for a long period. They know the problems faced by the industries. They have the
total firsthand knowledge. Their rich experience is something that you would gain from. They
can train students/ employee step by step. We offers training on Full stack Java, Full Stack
Web, Python, Machine Learning and AI, Data Science, Data Analytics ,Mobile Application
Development, Software Testing and More.
● Billing Software
● ERP Solutions
Streams Inc
Vishnu Enterprises
Deepthi Engineering
JB Transport India
BreakDQ
SJCPU
Rbits Technologies
CHAPTER 2
INTERNSHIP DOMAIN
2.1 Introduction
JAVA
Java is a small, simple, safe, object oriented, interpreted or dynamically optimized, byte
coded, architectural, garbage collected, multithreaded programming language with a strongly
typed exception-handling for writing distributed and dynamicaly extensible programs.
Special programs called applets that can be downloaded from the internet and played safely
within a web browser. Java a supports this application and the follow features make it one of
the best programming languages.
The original and reference implementation Java compilers, virtual machines, and class
libraries were developed by Sun from 1995. As of May 2007, in compliance with the
specifications of the Java Community Process, Sun made available most of their Java
technologies as free software under the GNU General Public License. Others have also
developed alternative implementations of these Sun technologies, such as the GNU Compiler
for Java and GNU Class path.
The Java language was created by James Gosling in June 1991 for use in a set top box
project. The language was initially called Oak, after an oak tree that stood outside Gosling's
office - and also went by the name Green - and ended up later being renamed to Java, from a
list of random words. Gosling's goals were to implement a virtual machine and a language
that had a familiar C/C++ style of notation.
Primary goals
There were five primary goals in the creation of the Java language:
The Java platform is the name for a bundle of related programs, or platform,
from Sun which allow for developing and running programs written in the Java programming
language. The platform is not specific to any one processor or operating system, but rather an
execution engine (called a virtual machine) and a compiler with a set of standard libraries
which are implemented for various hardware and operating systems so that Java programs
can run identically on all of them.
which provides a distinct portion of its overall capabilities. For example, the Java
compiler, which converts Java source code into Java bytecode (an intermediate
language for the Java Virtual Machine (JVM)), is provided as part of the Java
Development Kit (JDK). The sophisticated Java Runtime Environment (JRE),
complementing the JVM with a just-in-time (JIT) compiler, converts intermediate
bytecode into native machine code on the fly. Also supplied are extensive libraries
(pre-compiled into Java bytecode) containing reusable code, as well as numerous
ways for Java applications to be deployed, including being embedded in a web page
as an applet.There are several other components, some available only in certain
editions.
The essential components in the platform are the Java language compiler, the libraries, and
the runtime environment in which Java intermediate bytecode "executes" according to the
rules laid out in the virtual machine specification.
The heart of the Java Platform is the concept of a "virtual machine" that executes
Java bytecode programs. This bytecode is the same no matter what hardware or operating
system the program is running under. There is a JIT compiler within the Java Virtual
Machine, or JVM. The JIT compiler translates the Java bytecode into native processor
instructions at run-time and caches the native code in memory during execution.
The use of bytecode as an intermediate language permits Java programs to run on any
platform that has a virtual machine available. The use of a JIT compiler means that Java
applications, after a short delay during loading and once they have "warmed up" by being all
or mostly JIT-compiled, tend to run about as fast as native programs and Every Operating
System has its own JVM.
Class libraries
In most modern operating systems, a large body of reusable code is provided to simplify the
programmer's job. This code is typically provided as a set of dynamically loadable libraries
that applications can call at runtime. Because the Java Platform is not dependent on any
specific operating system, applications cannot rely on any of the existing libraries. Instead,
the Java Platform provides a comprehensive set of standard class libraries, containing much
of the same reusable functions commonly found in modern operating systems.
The Java class libraries serve three purposes within the Java Platform. Like other standard
code libraries, they provide the programmer a well-known set of functions to perform
common tasks, such as maintaining lists of items or performing complex string parsing. In
addition, the class libraries provide an abstract interface to tasks that would normally depend
heavily on the hardware and operating system. Tasks such as network access and file access
are often heavily dependent on the native capabilities of the platform. The Java java.net and
java.io libraries implement the required native code internally, then provide a standard
interface for the Java applications to perform those tasks. Finally, when some underlying
platform does not support all of the features a Java application expects, the class libraries can
either emulate those features using whatever is available, or at least provide a consistent way
to check for the presence of a specific feature.
Platform independence
One characteristic, platform independence, means that programs written in the Java language
must run similarly on any supported hardware/operating-system platform. One should be able
to write a program once, compile it once, and run it anywhere.
This is achieved by most Java compilers by compiling the Java language code halfway (to
Java bytecode) – simplified machine instructions specific to the Java platform. The code is
then run on a virtual machine (VM), a program written in native code on the host hardware
that interprets and executes generic Java bytecode. (In some JVM versions, bytecode can also
be compiled to native code, either before or during program execution, resulting in faster
execution.) Further, standardized libraries are provided to allow access to features of the host
machines (such as graphics, threading and networking) in unified ways. Note that, although
there is an explicit compiling stage, at some point, the Java bytecode is interpreted or
converted to native machine code by the JIT compiler.
The first implementations of the language used an interpreted virtual machine to achieve
portability. These implementations produced programs that ran more slowly than programs
compiled to native executables, for instance written in C or C++, so the language suffered a
reputation for poor performance. More recent JVM implementations produce programs that
run significantly faster than before, using multiple techniques.
One technique, known as just-in-time compilation (JIT), translates the Java byte code into
native code at the time that the program is run, which results in a program that executes faster
than interpreted code but also incurs compilation overhead during execution. More
sophisticated VMs use dynamic recompilation, in which the VM can analyze the behavior of
the running program and selectively recompile and optimize critical parts of the program.
Dynamic recompilation can achieve optimizations superior to static compilation because the
dynamic compiler can base optimizations on knowledge about the runtime environment and
the set of loaded classes, and can identify the hot spots (parts of the program, often inner
loops, that take up the most execution time). JIT compilation and dynamic recompilation
allow Java programs to take advantage of the speed of native code without losing portability.
Another technique, commonly known as static compilation, is to compile directly into native
code like a more traditional compiler. Static Java compilers, such as GCJ, translate the Java
language code to native object code, removing the intermediate byte code stage. This
achieves good performance compared to interpretation, but at the expense of portability; the
output of these compilers can only be run on a single architecture. Some see avoiding the VM
in this manner as defeating the point of developing in Java; however it can be useful to
provide both a generic byte code version, as well as an optimized native code version of an
application.
One of the ideas behind Java's automatic memory management model is that programmers be
spared the burden of having to perform manual memory management. In some languages the
programmer allocates memory for the creation of objects stored on the heap and the
responsibility of later deallocating that memory also resides with the programmer. If the
programmer forgets to deallocate memory or writes code that fails to do so, a memory leak
occurs and the program can consume an arbitrarily large amount of memory. Additionally, if
the program attempts to deallocate the region of memory more than once, the result is
undefined and the program may become unstable and may crash. Finally, in non garbage
collected environments, there is a certain degree of overhead and complexity of user-code to
track and finalize allocations. Often developers may box themselves into certain designs to
provide reasonable assurances that memory leaks will not occur.
In Java, this potential problem is avoided by automatic garbage collection. The programmer
determines when objects are created, and the Java runtime is responsible for managing the
object's lifecycle. The program or other objects can reference an object by holding a reference
to it (which, from a low-level point of view, is its address on the heap). When no references
to an object remain, the Java garbage collector automatically deletes the unreachable object,
freeing memory and preventing a memory leak. Memory leaks may still occur if a
programmer's code holds a reference to an object that is no longer needed—in other words,
they can still occur but at higher conceptual levels.
The use of garbage collection in a language can also affect programming paradigms. If, for
example, the developer assumes that the cost of memory allocation/recollection is low, they
may choose to more freely construct objects instead of pre-initializing, holding and reusing
them. With the small cost of potential performance penalties (inner-loop construction of
large/complex objects), this facilitates thread-isolation (no need to synchronize as different
threads work on different object instances) and data-hiding. The use of transient immutable
value-objects minimizes side-effect programming.
Comparing Java and C++, it is possible in C++ to implement similar functionality (for
example, a memory management model for specific classes can be designed in C++ to
improve speed and lower memory fragmentation considerably), with the possible cost of
adding comparable runtime overhead to that of Java's garbage collector, and of added
development time and application complexity if one favors manual implementation over
using an existing third-party library. In Java, garbage collection is built-in and virtually
invisible to the developer. That is, developers may have no notion of when garbage collection
will take place as it may not necessarily correlate with any actions being explicitly performed
by the code they write. Depending on intended application, this can be beneficial or
disadvantageous: the programmer is freed from performing low-level tasks, but at the same
time loses the option of writing lower level code. Additionally, the garbage collection
capability demands some attention to tuning the JVM, as large heaps will cause apparently
random stalls in performance.
Java does not support pointer arithmetic as is supported in, for example, C++. This is because
the garbage collector may relocate referenced objects, invalidating such pointers. Another
reason that Java forbids this is that type safety and security can no longer be guaranteed if
arbitrary manipulation of pointers is allowed.
Performance
Java's performance has improved substantially since the early versions, and
performance of JIT compilers relative to native compilers has in some tests been shown to be
quite similar. The performance of the compilers does not necessarily indicate the
performance of the compiled code; only careful testing can reveal the true performance issues
in any system.
The Java Runtime Environment, or JRE, is the software required to run any
application deployed on the Java Platform. End-users commonly use a JRE in software
packages and Web browser plug-in. Sun also distributes a superset of the JRE called the Java
2 SDK (more commonly known as the JDK), which includes development tools such as the
Java compiler, Java doc, Jar and debugger.
One of the unique advantages of the concept of a runtime engine is that errors
(exceptions) should not 'crash' the system. Moreover, in runtime engine environments such as
Java there exist tools that attach to the runtime engine and every time that an exception of
interest occurs they record debugging information that existed in memory at the time the
exception was thrown (stack and heap values). These Automated Exception Handling tools
provide 'root-cause' information for exceptions in Java programs that run in production,
testing or development environments.
Core Java
HTML, CSS
Java Server Pages(JSP)
Java Servlets
JDBC with Mysql
Core Java:
"Core Java" is a term often used to refer to the fundamentals and core features of the Java
programming language. It includes the basic concepts and libraries that are essential for any
Java developer to understand. Here are some of the core concepts and features of Java:
2. Platform Independence:
- Java is known for its "write once, run anywhere" capability. It achieves platform
independence through the use of the Java Virtual Machine (JVM), which allows Java code to
run on any platform that has a compatible JVM.
4. Data Types :
- Java supports a variety of data types, including primitive data types (e.g., int, boolean) and
reference data types (e.g., objects, arrays).
6. Control Flow :
- Java supports conditional statements (if-else, switch) and looping constructs (for, while,
do-while) for controlling the flow of a program.
7. Methods :
- Methods are functions in Java that perform specific tasks. They can accept parameters and
return values. The `main` method is the entry point for a Java application.
9. Inheritance :
- Java allows you to create new classes by inheriting properties and behaviors from existing
classes. This promotes code reusability.
10. Polymorphism :
- Polymorphism enables objects of different classes to be treated as objects of a common
superclass. This is achieved through method overriding and interfaces.
11. Encapsulation :
- Encapsulation is the concept of hiding an object's internal state and exposing it through
methods. Access modifiers like public, private, and protected are used to control access to
class members.
12. Abstraction :
- Abstraction allows you to define the essential features of an object while hiding the
implementation details. Abstract classes and methods are used to achieve this.
15. Multithreading :
- Java supports multithreading, allowing multiple threads to run concurrently. This is
essential for building responsive and scalable applications.
Core Java serves as the foundation for more advanced Java technologies and frameworks.
Developers typically start with core Java to gain a strong understanding of the language and
then move on to specific areas like web development, enterprise development, or mobile app
development using Java-based technologies and frameworks.
HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets) are essential
technologies for web development. They work together to create the structure and visual
presentation of web pages. Here's an overview of HTML and CSS:
HTML is the standard markup language for creating web pages. It defines the structure and
content of a web page using a set of elements and tags.
2. Document Structure :
- An HTML document is structured as a tree, with the `<html>` element at the root. It
includes the `<head>` section for metadata (title, links to stylesheets or scripts) and the
`<body>` section for the visible content of the web page.
3. Attributes :
- HTML elements often have attributes (e.g., `href`, `src`, `class`) that provide additional
information about the element or modify its behavior.
4. Hyperlinks :
- HTML allows you to create hyperlinks using the `<a>` element, enabling users to
navigate between web pages.
5. Forms :
- HTML provides form elements (e.g., `<form>`, `<input>`, `<button>`) for collecting user
input and sending data to a server.
CSS is a stylesheet language used for describing the presentation and layout of web pages. It
separates the content (HTML) from the visual design.
5. Box Model :
- Elements in CSS are treated as boxes with content, padding, borders, and margins.
Understanding the box model is essential for layout design.
7. Media Queries :
- Media queries in CSS allow you to apply different styles based on the characteristics of
the user's device, such as screen width and orientation.
9. CSS Frameworks :
- Developers often use CSS frameworks like Bootstrap or Foundation to accelerate web
development by providing pre-designed components and styles.
HTML and CSS are the foundational technologies for web development. They are often used
in combination with JavaScript, a programming language that adds interactivity and dynamic
behavior to web pages. Together, HTML, CSS, and JavaScript form the core building blocks
of the World Wide Web, allowing developers to create engaging and interactive web
experiences.
JSP (Java Server Pages) is a technology used for building dynamic web applications in Java.
JSP allows developers to embed Java code within HTML to create web pages that can
generate dynamic content. It's often used in conjunction with servlets to build Java-based web
applications. Here are some key points about JSP:
1. Dynamic Content : JSP enables the creation of web pages that can generate dynamic
content by embedding Java code within HTML templates.
2. Servlet-Based Technology : Under the hood, JSP is converted into servlets before
execution. It is part of the Java EE (Enterprise Edition) platform and is often used alongside
servlets to build web applications.
4. Java Code Integration : Java code can be embedded within JSP pages using scripting
elements. This allows developers to execute Java logic and access Java objects, making JSP a
powerful tool for server-side processing.
6. Standard Actions :
- JSP includes standard actions for common tasks, such as conditionals (`<c:if>`), looping
(`<c:forEach>`), and working with JavaBeans (`<jsp:useBean>`).
- These standard actions can be used to create more maintainable and readable JSP code.
8. Tag Libraries :
- JSP supports the use of custom tag libraries, such as JSTL (JavaServer Pages Standard
Tag Library) and Struts tags. These libraries provide additional tags and functionality to
simplify JSP development.
9. Servlet API Access : JSP pages have access to the Servlet API, allowing them to interact
with HTTP requests and responses, handle form submissions, and manage session data.
10. Deployment : JSP pages are typically compiled into servlets and are deployed on a web
server or application server. The compiled servlets are executed when clients request JSP
pages.
11. IDE Support : Integrated Development Environments (IDEs) like Eclipse, IntelliJ
IDEA, and NetBeans provide tools and features for JSP development, making it easier for
developers to work with JSP files.
JSP is commonly used for developing web applications in Java, and it is a versatile
technology for creating web pages with dynamic content. It is particularly useful for building
web applications with a Java backend, allowing developers to integrate business logic and
data with the presentation layer efficiently. However, in modern web development, there is a
trend toward using more lightweight and flexible front-end technologies like JavaScript
frameworks (e.g., React, Angular, Vue.js) in conjunction with RESTful APIs to create
dynamic web applications.
Java Servlets:
Java Servlets are server-side components used to extend the capabilities of web servers. They
allow developers to create dynamic and interactive web applications by handling requests,
processing data, and generating responses in Java. Here are some key points about Java
Servlets:
1. Server-Side Processing : Servlets run on the server and handle client requests, such as
HTTP requests, by processing data and generating dynamic responses.
2. Java-Based : Servlets are written in the Java programming language and are part of the
Java EE (Enterprise Edition) platform, which is now known as Jakarta EE.
4. Extending HttpServlet : Most servlets extend the `HttpServlet` class, which provides
methods for handling HTTP-specific requests, such as `doGet()`, `doPost()`, and `doPut()`.
These methods allow developers to handle different types of HTTP requests.
5. Handling Requests and Responses : Servlets can access request parameters, headers, and
data, and they can generate HTML, XML, or other responses to be sent back to the client.
6. URL Mapping : Servlets are mapped to specific URLs, and when a client makes a
request to that URL, the servlet is invoked to process the request.
7. Session Management : Servlets can manage user sessions, allowing you to store and
retrieve session-specific data, such as user preferences or shopping cart contents.
9. Use of JavaBeans : Servlets often interact with JavaBeans (Java objects) to encapsulate
and manage data and business logic. JavaBeans are often used to separate business logic from
presentation logic.
10. Integration with JSP : Servlets can work in conjunction with JSP (JavaServer Pages) to
create web applications. Servlets can handle business logic, while JSP pages handle the
presentation layer.
11. Thread Safety : Developers must ensure that servlets are thread-safe, as multiple clients
may access a servlet simultaneously. This is typically achieved by synchronizing critical
sections of the code.
12. Deployment : Servlets are typically packaged in web applications (WAR files) and
deployed on web servers or application servers, such as Apache Tomcat, WildFly, or Jetty.
13. IDE Support : Integrated Development Environments (IDEs) like Eclipse, IntelliJ
IDEA, and NetBeans provide tools and features for servlet development, making it easier for
developers to create and manage servlets.
Servlets are widely used in Java web development and are essential for building dynamic and
interactive web applications. They provide a server-side solution for handling HTTP requests
and generating dynamic content, making them a key component of many web applications
and APIs. In modern web development, servlets are often used in conjunction with other
technologies and frameworks, such as JSP, JavaBeans, and RESTful web services, to build
robust and scalable web applications.
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.SQLException;
if (connection != null) {
System.out.println("Connected to the database!");
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
// Process data as needed
}
```
String insertSQL = "INSERT INTO your_table_name (name, age) VALUES ('John', 30)";
int rowsAffected = statement.executeUpdate(insertSQL);
if (rowsAffected > 0) {
System.out.println("Insert successful.");
}
finally {
try {
if (resultSet != null) {
resultSet.close();
}
if (statement != null) {
statement.close();
}
if (connection != null) {
connection.close();
}
} catch (SQLException e) {
e.printStackTrace();
}
}
That's a basic overview of how to use JDBC with MySQL. You can build upon these
concepts to create more complex database interactions in your Java applications. Remember
to handle exceptions, close resources properly, and ensure secure and efficient database
operations in your applications.
CHAPTER 3
TASK PERFORMED
Project Tile: “Resell and Buy Things’’
3.1 Introduction
In a fast-paced digital age, the online marketplace has become a central hub for buying
and selling a wide range of products. The project titled "Resell and Buy Things" aims to
create a dynamic and user-friendly platform that empowers users to seamlessly engage in
the resale and purchase of electronic appliances. This project leverages a multi-faceted
approach, combining web development technologies, database management, and user
interaction to deliver a robust and intuitive e-commerce experience.
The primary objective of this project is to provide a feature-rich platform that allows
users to both sell their electronic appliances and purchase items from other sellers. To
achieve this, the project is divided into five key modules, each with a specific focus and
set of functionalities.
Purpose: This module was responsible for handling user authentication and
account management. It ensured secure user access to the platform and
allowed users to manage their profiles.
Functionality:
Functionality:
Functionality:
4. Order Processing:
Functionality:
Order Validation: The module ensured that orders were accurate and
complete before processing.
Order Total Calculation: It calculated the total cost of the items in the
shopping cart.
Purpose: This module was responsible for sending order confirmation and
updates to users via email. It served as a communication channel to keep users
informed about their orders.
Functionality:
Order Updates: Users were notified via email about any updates or
changes to their orders, such as order shipment status.
These modules collectively formed the core functionalities of the "Online Reselling
Electronics Application." Each module played a crucial role in creating a seamless and secure
e-commerce platform, connecting buyers and sellers of electronic appliances while ensuring
user authentication, effective product management, and a smooth shopping experience.
CHAPTER 4
REFLECTION NOTES
I had a great experience during my internship, and I gained valuable experience that will be
helpful when I look for jobs and references. At first, I was nervous about it, but now I'm
happy it was required. Despite changes in the curriculum, I hope internships like this one
remain a constant part of the program.
Weall know that practical experience is the best, and internships provide hands-on experience
that you can't get in a classroom. It's essential for developing skills like multitasking,
communication, handling diversity, and meeting deadlines. These skills are different when
you're working for someone else, not just studying in college. Internships are also a great way
to build a network in the industry. My boss and co-workers were helpful in connecting me
with industry contacts and job opportunities.
I learned that customer service can be tough, and you can't make everyone happy. Some
people are just difficult to deal with. I also realized that stressing over small things doesn't get
you anywhere. I learned the value of teamwork and how important my colleagues are in
getting the work done. One important lesson was not to be afraid to ask questions, as it's how
I got the answers I needed.
I learned more than I expected. Initially, I thought I had an advantage being a senior and
having completed all my classes, but I realized that no amount of classes can fully prepare
you for everything in the real world. Don't get me wrong, Auburn did an excellent job
teaching me, but combining that with hands-on work is most valuable. The most challenging
part of my internship was having to share tasks and coordinate work with others. I'm a bit of a
perfectionist and used to doing things my way, so working with others and sharing
responsibilities was an adjustment. It took me a while to feel comfortable with it, but I
learned that collaboration is a good thing, and two heads are better than one.
CHAPTER 5
RESULTS AND INTERNSHIP OUTCOMES
CHAPTER 6
CONCLUSION
In working on the "Resell and Buy Things" Java web application project, I've learned a lot
about creating an online platform for buying and selling. It's been a hands-on experience that
has taught me more than just what I've learned in class.
The different parts of the project, like setting up user accounts and managing products, have
given me a variety of skills. This project showed me how practical experience is different
from classroom learning. I faced real-world challenges, like dealing with different users and
working as part of a team, which have had a big impact on my professional growth.
The "Resell and Buy Things" project highlights the importance of teamwork, adaptability,
and striving for excellence. It has reinforced the idea that combining what I've learned in my
studies with real-world practice is the best way to prepare for a changing tech world. As I
finish this project, I'm excited to use what I've learned in future work and contribute to the
ever-evolving field of e-commerce and web development.
REFERENCES
BOOKS:
Charles Hampfed (2000) ‘Instant Java Server Pages’ University of Toronto
Herbert Schildt (2000) ‘Java Complete Reference’ Tata McGraw Hill
John Zukowski (2000) ‘Mastering Java2’ BPB Publications
Jamie Jaworsky ‘J2EE Bible’ Techmedia
Ian Somerville ‘Software engineering’ and Rajeev mall ‘Software engineering
Elmasri Navathe ‘Fundamentals of database systems’
ONLINE REFERENCE:
www.java.sun.com
www.w3schools.com