Takhangma Rai 21039792 Aashma Rai
Takhangma Rai 21039792 Aashma Rai
Group Name:
SN Student Name College ID University ID
1 Aashma Rai Np01cp4a210072 21039792
2 Takhangma Rai Np01cp4a210102 21040043
Google https://drive.google.com/drive/folders/10pZxcEyFFgCvkZA0jebKgf99JRvUtvDt
Drive
Link
I confirm that I understand my coursework needs to be submitted online via Google Classroom under the
relevant module page before the deadline in order for my assignment to be accepted and marked. I am
fully aware that late submissions will be treated as non-submission and a marks of zero will be awarded.
Table of Contents
1 Introduction .............................................................................................................. 1
2 UI Design ................................................................................................................. 2
3 Class Diagram........................................................................................................ 18
9 Conclusion ............................................................................................................. 66
10 References ......................................................................................................... 67
Table of Figures:
1 Introduction
1.1 Aims
The main aim of this coursework is to design and develop a fully functional,
efficient and user- friendly e-commerce platform for customers to explore and
purchase clothing items.
1.2 Objectives
To create a login system where both user and admin can login with encrypted
password.
To create an admin panel that permits admin to add, edit, delete the products
information and view product lists.
To create a user-friendly platform where user can edit their profile, change their
password, search and buy cloth items according to category, price, brand, etc.
To provide functionalities because of which the user can order the product by
using AddToCart and view their ordered or purchased list of products.
To provide a logout system so that the users can securely end their sessions
ensuring that the personal information remains safe, and their privacy is
protected.
1
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
2 UI Design
The method that designers use to create user interfaces for digital products in software
or computerized devices, with a focus on aesthetics or style, is known as user interface
(UI) design (Bak, n.d.). UI design aims to assume what users might be needed to do
while exploring platforms and therefore ensures that the interface of platform is
designed with components for simple user accessing, understanding while facilitating
those actions. The user interface is implemented for designing visual appearance,
usefulness, interactivity, behaviour, concept and overall feel of a product.
2
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
2.1 Wireframe
3
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
4
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
5
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
6
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
7
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
8
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
9
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
10
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
11
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
12
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
13
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
14
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
15
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
16
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
17
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
3 Class Diagram
18
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
4 Method Description
AuthenticationFilter.java
destroy(): The web container invokes this method to inform the filter that
it is being taken out of action. There is no special cleanup
procedure that has to be carried out for this filter since the
destroy() function is empty. If the filter does not use any
resources during initialization that need to be freed after
destruction, the destroy() function can be empty and do
nothing.
doFilter() The doFilter is the main method of the filter that performs the
authentication. It accepts ServletRequest, ServletResponse
and FilterChain objects as parameters. It determines if the
user is logged in or not by retrieving the user object from the
session. The filter chain in permitted to continue if the user is
logged in and has [email protected] as their associated
email address. The user is redirected to the home.jsp page if
they are not already logged in or doesn’t have their email as
[email protected].
Init() The web container invokes this function to inform the filter
that it is being put into service. Because it is empty in this
instance, no initialization tasks are required for this filter. This
method is a component of the Filter Interface meaning that it
must still be used. When the filter is initialized, the web
container throws a ServletException if this method is not
implemented.
19
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
20
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
EncDyc.java
editProfile.java
21
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
productQuery.java
Query.java
22
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
5 Test Cases
Action The user/ admin enters their credentials email and password
to login to the website.
Expected Result The system identifies the user and admin directs user to the
home page and admin to the admin panel page respectively.
Actual Result The system identified the user and admin role and directed
them to their respective pages which is to the home page and
admin page respectively.
Conclusion The test was successful.
Table 6 – Testing of user and Admin login
23
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
24
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
25
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
26
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
27
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
28
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
29
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Encrypted Password
Objective To Encrypt the user’s password while registering
Actual Result The user was registered, and the password set by the user was
encrypted and saved in the database.
Conclusion The test was successful.
Table 8 – Testing showing the encryption of user password.
30
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
31
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Objective While ordering the product, to redirect the user to login page if
had not logged in the website previously, and register the user if
the user has not registered
Action The user clicks on Add to cart option to order the product they
want.
Expected Result User should be redirected to the login page of the website if has
not logged in and should be registered by clicking on the create
account if had not even registered.
Actual Result The anonymous user is redirected to the login page and asked to
login and register before buying products from the website.
32
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
33
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
34
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Search Feature:
Objective To let user search products according to category, price and
brand
Action Users navigates to the home page that consists of products
and clicks on the search button that let’s user to search
according to category, price range and brand name.
Expected Result Users should be able to search the products according to their
price range, category and their preferred brand name.
Actual Result The user is provided range of product category (Skirt, tops,
dresses), options of brands (Dior, Chanel), and price range
from high to low prices and low to high prices.
Conclusion The test was successful.
Table 10 – Testing of searching products according to category, price, and brand.
35
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
36
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
37
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Action User should press the add product button on the home page
of the product.
Expected Result The product should be added in the cart of the user.
38
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
39
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Action User should press the remove button on the cart page of the
product.
Expected Result The product should be removed from the cart of the user.
Actual Result The product is removed from the cart of the user.
40
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
41
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Action User should navigate to their profile page and can update
their details.
Expected Result The user details should be changed in the database as well
as in the webpage.
Actual Result The user details are changed in the database as well as in the
webpage.
42
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
43
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
44
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
45
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Action User should navigate to their profile page and can check the
purchase history.
Expected Result The user should be able to view their purchase history.
46
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Add Product:
Expected Result The product should be added on the website as well as in the
database.
47
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
48
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
49
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
50
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
51
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Action Admin should press the edit button on the product which is to
be edited.
Expected Result The product should be edited on the website as well as in the
database.
52
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
53
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
54
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
55
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
56
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
Action Admin should press the delete button on the product which is
to be deleted.
57
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
58
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
59
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
6.1 Tools
Eclipse: Eclipse is an integrated development environment (IDE) for developing
computer-based applications utilizing the Java programming language and other
programming languages like C/C++, Python, PERL, Ruby etc. (Gupta, 2023).
The Eclipse IDE is well-known for its Java Integrated Development Environment
because it offers rich features that make it simpler for developers to create
complex applications for the Eclipse platform.
Eclipse IDE is utilized by developing a new Dynamic Web Project and setting its
Tomcat Server configuration. Then, we developed the necessary packages for the
Model-View-Controller pattern, building the JSP files for the view package, the
60
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
appropriate servlets for the controller package, and the database operations for the
model package.
XAMPP: XAMPP is an open-source web server solution package mainly used for
web application testing on a local host webserver (S, 2023).
In this project, a local server is built using XAMPP on the developer's computer to
host and test the e-commerce website. The website's files can be kept in XAMPP, and it
can be visited by navigating to localhost in a web browser. The website's database is
likewise set up and configured using XAMPP and is built with necessary tables and
relationships. In this way, setting up a development environment for the e-commerce
website is made simple and convenient by XAMPP.
61
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
6.2 Libraries
There are various types of libraries used for this project some of them are
described below:
Libraries Functions
java.sql This package is a component of the Java Standard
Library used for the establishing database connection and
manipulation of data.
java.util It provides utilities and provides frequently used data
structures, algorithms, date and time management etc.
java.io This contains class and interfaces that enables non-
blocking I/O, memory mapped I/O which is used to handle
I/O tasks more effectively.
java.crypto This package offers a number of classes and interfaces
that are used for various cryptographic techniques, such
as encryption, decryption, key generation and message
authentication.
javax.servlet This package contains classes and interfaces that outlines
the components and functionality needed to create web
applications in Java.
JSTL This library is used to streamline the process of creating
JSP pages by offering standard sets of tags to carry out
activities.
java.security This package provides different classes and interfaces
necessary for integrating security services and features
into applications.
Table 18 - Table of Libraries
62
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
7 Development Process
We were familiar with the requirements of this project, and we were sure about the
technologies and frameworks we were about to implement for the overall completion of
this project. After identifying crucial components of the website and the interaction
between the pages, we designed the user interface of our website using wireframe.
Before starting the actual coding and system development process Tomcat Server was
added, and external jar files, taglib jar files, were added in the eclipse IDE. 3 tables
were developed named Product, order and new user in XAMPP to store the data related
to each table. MVC pattern with the packages model, view, and controller was followed
thoroughly for the development of the project to structure the code, with the view
displaying data to the user, model managing data, and controller handling requests. We
created the login, register, system as per the requirements following the MVC pattern.
We incorporated the register and login functions based on the user roles like customers
and admin. We encrypted the password of the user to provide security to safeguard
their confidentiality. Then login session was used after the user was successfully logged
in to the system to store their authentication details. Now, all the other pages admin
panel, home page was also developed incorporating all crucial functionalities. MVC was
followed thoroughly for the development of the project. For every page, conditions were
set like, for the home page the users were not being able to purchase from the website
until and unless he logs in or registers on the website. During the entire development
process, several tests were run to confirm whether the code is functioning, works the
way it was intended and errors that arose were resolved for each and every pages.
After constructing the pages using HTML and CSS, the backend was added to support
every functionality. As each pages have unique function to offer, pages were structured
and styled accordingly. Finally, a well fully function e-commerce website was developed
using HTML, CSS for Frontend and java for backend handling.
Name Role
63
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
System Development:
Worked on the backed for the admin of the website, along
with the development of database for the website.
Worked alongside teammates for the development of
features of the project which required development of code
in eclipse.
Worked on linking the frontend to the backend portion of
the project.
TAKHANGMA RAI Report Preparation: Test Cases, Introduction, Development
Process, Actual Design, Critical Analysis, Tools and aims.
System Development:
Worked on the development of the user interface along
with database implementation for the website.
Worked on implementation of the design of the website.
Testing and analysis of the backend code to optimize the
features.
Worked on the java servlet files for the proper functioning
of the website.
Table 19 – Individual Roles
64
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
8 Critical Analysis
Overall, this website was completed following all the necessary and specified
guidelines and requirements. To separate concerns and provide modularity, the Model-
View- Controller (MVC) design pattern proved to be an effective strategy. This project
integrates a number of Java Servlet APIs and technologies, including Tag Libraries,
JDBC, and JSTL, which are often used in web development. While making use of
following approaches for the development of our website, we encountered several
challenges and some of them are listed below:
Database Management: In order to insert the user's data and perform several
queries, a database connection is important. The problem we faced during
database management was establishing connections. We solved the problem by
thoroughly checking the names of the tables and their column names in the
database and tallying them with the names of the tables and columns in our
code.
65
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
9 Conclusion
66
21040043 || 21039792
CS5054NI ADVANCED PROGRAMMING AND TECHNOLOGY
10 References
Bak, T., n.d. UI Design Process - 7 Easy Steps to Make Great UIs Faster. [Online]
Available at: https://www.softkraft.co/ui-design-process/
[Accessed 6 5 2023].
Hartman, J., 2023. JSTL (JSP Standard Tag Library) Tutorial: Core & Custom Tags.
[Online]
Available at: https://www.guru99.com/jsp-tag-library.html
[Accessed 6 5 2023].
S, R. A., 2023. How to Run a PHP File Using XAMPP: A Step By Step Guide. [Online]
Available at: https://www.simplilearn.com/tutorials/php-tutorial/php-using-xampp
[Accessed 6 5 2023].
67
21040043 || 21039792