finalproject
finalproject
A
Project Report
On
Online Watch Selling
Developed At
L. J. Institute of Computer Application
As partial fulfillment of
M.C.A. (Sem-III)
Academic Year: 2024-25
developed By
Miss.Surbhi Ramani (23004401110239 (C-29))
Mr. Harsh Hirani (23004401110090 (C- 11))
Mr. Dhruv Sangani (23004401110266 (C-33))
Submitted To
L J University, Ahmadabad
Watch on
Watch on
L J University
School of Computer Applications
Dept. of Master of Computer Applications
Near Sarkhej Cross Roads,
Ahmedabad – 382210, Gujarat, India.
Website: www.ljku.edu.in
CERTIFICATE
(Watch on)
Date of Submission:
Prof.Punit Patel
(Internal Guide)
Watch on 1
Watch on
L J University
School of Computer Applications
Dept. of Master of Computer Applications
Near Sarkhej Cross Roads,
Ahmedabad – 382210, Gujarat, India.
Website: www.ljku.edu.in
CERTIFICATE
(Watch on)
Date of Submission:
Prof.Punit Patel
(Internal Guide)
Watch on 2
Watch on
L J University
School of Computer Applications
Dept. of Master of Computer Applications
Near Sarkhej Cross Roads,
Ahmedabad – 382210, Gujarat, India.
Website: www.ljku.edu.in
CERTIFICATE
(Watch on)
Date of Submission:
Prof.Punit Patel
(Internal Guide)
Watch on 3
Watch on
Acknowledgement
I would like to pay my praise and humblest thanks to God, the most
merciful and beneficent of me, who bestowed me with the ability to
complete this project.
I am highly indebted to Prof. Punita mam for their guidance and constant
supervision as well as for providing necessary information regarding the
project & also for their support in completing the project. I am extremely
thankful to her for providing such a nice support and guidance, although
she had busy schedule managing the corporate affairs.
4
Watch on
Case Study:
1. Introduction
The online watch selling industry has grown significantly due to the rise
of e-commerce, catering to both luxury watch enthusiasts and budget-
conscious buyers. Consumers now have access to a wide range of
timepieces—from affordable fashion watches to high-end luxury
pieces—through platforms that prioritize user experience, secure
transactions, and convenient services.
5
Watch on
6
Watch on
6. Conclusion
7
Watch on
Reviewed websites:
1. Jomashop – www.jomashop.com
8
Watch on
WatchBox – www.watchbox.com
9
Watch on
Index
10
Watch on
Problem Definition
The current online watch retail market suffers from a lack of niche brands,
poor customer service, and inadequate product information. Customers
face challenges such as difficulty finding specific models and navigating
outdated platforms. These issues lead to a frustrating shopping experience
and missed sales opportunities. Our project aims to address these gaps by
offering a more user-friendly, informative, and customer-focused online
shopping platform.
1
Watch on
2
Watch on
Order Tracking: Provide customers with the ability to track their orders in
real-time, enhancing transparency and customer satisfaction.
Admin Dashboard: Equip administrators with a comprehensive dashboard
to manage inventory, process orders, and update watch information
efficiently
3
Watch on
Core components
1. User Modules:
Customer Module:
Registration and Login: Enables users to create accounts, log in, and
manage their profiles.
Admin Module:
Order Management: Admins can view, process, and update the status of
customer orders, handle returns, and manage customer inquiries.
2. Product Catalog:
Watch Listings:
Product pages offer insights into each watch, customer reviews, and
recommendations.
4
Watch on
Users can add multiple watches to their cart, adjust quantities, and save
items for future purchases.
The cart automatically calculates the total cost, including taxes and
shipping fees.
Guest Checkout:
Users who do not wish to register can still make purchases using a guest
checkout option, ensuring accessibility.
5
Watch on
Order Tracking:
Order History:
Users can view and manage past orders, reprint receipts, and initiate
returns or exchanges if necessary.
6
Watch on
Project Profile
Group number : 53
Mr.Harsh Hirani
Mr.Dhruv Sanagani
7
Watch on
8
Watch on
9
Watch on
10
Watch on
1. User Management:
Registration and Login:
The system will allow users to create accounts, log in securely, and
manage their profiles.
User Roles:
Different user roles will be supported, including customers and
administrators, each with specific permissions and access levels.
11
Watch on
Guest Checkout:
The system will support guest checkout, allowing users to make
purchases without creating an account.
Order Tracking:
Customers will be able to track their orders in real-time, receive
notifications on the status, and view estimated delivery dates.
12
Watch on
Broad Selection:
Secure Transactions:
Implementation of secure payment gateways and data protection
measures to ensure safe and reliable transactions.
Cost-Effectiveness:
Potential for lower prices compared to physical stores due to reduced
overhead costs and the ability to easily compare prices.
13
Watch on
14
Watch on
15
Watch on
16
Watch on
Requirements
Gathering
Finalize
Requirements
Approve Project
Scope
Set up Dev
Environment
Develop Frontend
Develop Backend
Database Design
Implement Core
Features
Integrate Payment
& Security
Internal Review
Address Feedback
Deploy to
Production
17
Watch on
Target User:
1. Watch Enthusiasts:
Profile:
Passionate about watches and knowledgeable about various brands,
models, and watch-making techniques.
Needs:
2. Casual Buyers:
Profile:
Occasional buyers looking for a watch, either for personal use or as a gift,
without extensive knowledge of the market.
Needs:
Easy navigation, clear descriptions, and straightforward purchasing
process.
18
Watch on
3. Gift Seekers:
Profile:
Individuals looking to purchase a watch as a gift for special occasions
such as birthdays, anniversaries, or holidays.
Needs:
4. Collectors:
Profile:
Individuals who collect watches as a hobby or investment, often seeking
rare and vintage models.
Needs:
Access to exclusive, rare, or vintage collections, and detailed historical
data.
Features for Them:
Special sections for limited editions, detailed provenance information,
and alerts for new arrivals.
19
Watch on
5. Price-Sensitive Shoppers:
Profile:
Buyers who prioritize finding the best deals and discounts, often
comparing prices across platforms.
Needs:
Clear pricing information, discount notifications, and price comparisons.
Features for Them:
Filter options for sales, price drop alerts, and promotional offers.
6. Tech-Savvy Users:
Profile:
Users who are comfortable with technology and prefer shopping online
due to its convenience and efficiency.
Needs:
Seamless user experience, fast load times, and integration with mobile
and wearable devices.
Features for Them:
Mobile-responsive design, quick checkout processes, and integration with
digital wallets.
7. High-End Buyers:
Profile:
Customers seeking luxury or premium watches, often with a preference
for well-known, high-end brands.
Needs:
Exclusive collections, personalized service, and assurances of
authenticity.
20
Watch on
8. International Customers:
Profile:
Customers from various countries looking to purchase watches online
with reliable shipping and payment options.
Needs:
21
Watch on
Reqirement Determination
1. Functional Requirements
User Registration and Login:
Registration: Users must be able to create an account with a unique email
address and password.
Login: Users should be able to log in with their email and password.
Product Catalog:
Search: Users can search for watches by name, brand, or category.
Filtering: Users can filter products based on various criteria (e.g., price
range, brand, features).
Sorting: Users can sort products by price, popularity, or newest arrivals.
Product Details: Each product should display detailed information
including descriptions, specifications, and high-quality images.
Shopping Cart:
Checkout Process:
Address Entry: Users enter shipping and billing addresses.
22
Watch on
Order Management:
Order History: Users can view their past orders and details.
Track Orders: Users can track the status of their current orders.
Returns: Implement functionality for users to request returns or
exchanges.
Customer Reviews:
Submit Review: Users can leave reviews and ratings for products.
User Behavior: Track and analyze user behavior on the site (e.g., most
viewed products, average time spent on site).
Security Features:
Data Encryption: Ensure data is encrypted during transmission and
storage.
Secure Authentication: Implement secure authentication methods,
including multi-factor authentication if needed.
23
Watch on
2. Non-Functional Requirements
Performance:
Load Time: Pages should load within 3 seconds under normal conditions.
Concurrent Users: The system should handle up to 500 concurrent users
without performance degradation.
Accessibility: The system should be accessible to users with disabilities,
following WCAG guidelines.
User Interface: The UI should be intuitive and easy to navigate.
Scalability:
Future Growth: The system should be designed to accommodate an
increase in user base and product listings.
Reliability:
Uptime: The system should have 99.9% uptime.
Backup: Regular backups should be performed to prevent data loss.
Security:
24
Watch on
Requirement Specification :
Functional Requirements:
User Registration:
The registration form will include fields for username, email, password,
and phone number.
Password strength must be validated (minimum 8 characters, at least one
uppercase letter, one number, and one special character).
Users will receive a confirmation email upon successful registration with
a link to verify their account.
Login System:
The login system will support both email/password authentication and
social login options (Google, Facebook).
Implement a CAPTCHA system after three failed login attempts to
prevent brute force attacks.
Multi-factor authentication (MFA) will be optional, using either an SMS
code or an authenticator app.
Product Catalog:
Each watch listing will include a high-resolution image carousel, detailed
specifications (e.g., material, movement type, water resistance), and
customer reviews.
Filtering options will include brand, price range, customer rating, material,
and special features (e.g., chronograph, automatic).
Sorting options will allow users to sort by price (low to high, high to low),
popularity, and newest arrivals.
The system must support at least 10,000 product listings with seamless
pagination and search functionality.
25
Watch on
Shopping Cart:
The shopping cart will automatically calculate total price, taxes, and
shipping fees based on the user's location.
Users will have the option to save their cart for later, even if they are not
logged in, by using browser cookies.
The cart will display estimated delivery dates based on the selected
shipping method.
Checkout Process:
Users can enter separate billing and shipping addresses.
Payment options will include credit/debit cards, PayPal, and a "Buy Now,
Pay Later" service.
The system will generate a unique order ID and send a confirmation
email with a detailed receipt and tracking information.
Order Management:
Non-Functional Requirements:
Performance:
The system must maintain a response time of under 2 seconds for 90% of
requests under peak load conditions.
It should support auto-scaling to handle traffic spikes during promotional
events.
26
Watch on
Usability:
The interface will comply with WCAG 2.1 AA standards to ensure
accessibility for users with visual and motor impairments.
The design will be mobile-first, ensuring full functionality on devices
with a screen size as small as 320px in width.
Scalability:
The system architecture will use a microservices approach to allow
independent scaling of the product catalog, user management, and
payment processing modules.
Reliability:
The system will include a disaster recovery plan with automated daily
backups stored in multiple geographic locations.
Security:
All sensitive data (e.g., passwords, payment details) will be encrypted
using AES-256 during storage and TLS 1.3 during transmission.
27
Watch on
28
Watch on
Data Dictonary:
Data Dictionary
1.User:
Table Name: user_table
Description: This Table is store the information about user
Unique PRIMARY
identifier KEY,
for the AUTO_INCRE
user_id user INT(5) MENT 1
User
username VARCH
for login AR NOT NULL,
Username purposes -150 UNIQUE Dhruv
User
password VARCH
user_pass for login AR
word purposes NOT NULL 1234
User email
address for
communic
ation and VARCH
notificatio AR NOT NULL, dhruv@gmai
user_email ns UNIQUE l.com
is_superus Is VARCH
er superuser AR NOT NULL 1
29
Watch on
VARCH
user_addr Address of AR Optional, Valid
ess the User Address Ahmedabad
NOT NULL 02-03-
Date and 2022(2:30PM
last_login time show INT(5) )
Show user VARCH
last_name last name AR NOT NULL Sangani
Is staff
is_staff member INT(5) NOT NULL 5
is staff
active
member or VARCH
is_active not AR NOT NULL YES or NO
user first VARCH
first_name name AR NOT NULL Dhruv
user
date_joine joining VARCH
d date AR NOT NULL 8/3/2023
30
Watch on
2.Category:
Table Name: categories
Description: This Table is store the information about product categories.
Unique
identifier PRIMARY KEY,
for the AUTO_INCREMEN
category_id category INT(5) T 1
VARCHA
category_nam Category R NOT NULL,
e name (15) UNIQUE Rado
31
Watch on
3.Product:
Table Name: products
Description: This Table is store the information about Items.
Descriptio Data
Attribute Name n Type Constraints Example
Unique
identifier PRIMARY KEY,
for the AUTO_INCREME
product_id product INT(5) NT 1
Store VARCH
Product AR
product_name Name (15) NOT NULL G-shock
Watch is
a
premium
Watch
product
made by
Store the
Product VARCH branded
product_descript Descriptio AR compane
ion n (1s5) NOT NULL y
Relationsh
ip between
category
and
product NOT NULL,
category_id table INT(5) FOREIGN KEY 1
Store VARCH
Product AR watch.jp
product_image Image (15) NOT NULL g
32
Watch on
Store
Price Of
product_price Product FLOAT NOT NULL 50
Check
product VARCH
available AR True/Fal
status or not (15) se
33
Watch on
4.Orders:
Table Name: Orders
Description: This Table is store the information about Orders
Unique
PRIMARY KEY,
identifier
user_id INT(5) AUTO_INCREM 1
for the
ENT
user
VARCH
show a AR
status status of NOT NULL on the way
order
VARCH Navrangpu
show AR ra,
address_id NOT NULL
address id Ahmedaba
d
show user
INT(5)
user_id uniqnum NOT NULL 1
ber
34
Watch on
5.Wishlist:
Table Name: Wishlist
Description: This Table is store the information about Wishlist.
Attribute Data
Name Description Type Constraints Example
Unique
identifier for
the wishlist PRIMARY KEY,
wishlist_id item INT(5) AUTO_INCREMENT 1
Foreign key
referencing
user_id the User table INT(5) FOREIGN KEY 1
Foreign key
referencing
the Product
product_id table INT(5) FOREIGN KEY 1
35
Watch on
6.Payment:
Table Name: payment
Description: This Table is store the information about Payment Detail.
Attribute Descrip Data
Constraints Example
Name tion Type
Unique PRIMARY
identifi KEY,
id INT(5) 1
er for AUTO_INCRE
the user MENT
show
amount INT(5) NOT NULL,
amount ####
of UNIQUE
product
VARCH
show ARE
payment_m paymen
NOT NULL Gpay
ethod t
method
show
time to INT(5) NOT NULL,
timestamp pay 3:50PM
UNIQUE
paymen
t
show VARCH
status AR successful or
status NOT NULL
od not
payent
shoe
INT(5)
user_id user id NOT NULL 1
number
36
Watch on
show
INT(5)
card
card_numb number
NOT NULL ####
er of
paymen
t
show
cvv card INT(5) NOT NULL 123
cvv
show
card
expiry_date INT(5) NOT NULL ####
expiry
date
show
paypal_em VARCH dhruvsangani
paypal NOT NULL
ail ARE @okaxis
email
show
upi id
VARCH dhruvsangani
upi_id from NOT NULL
ARE @okaxis
custom
er
37
Watch on
7.Wishlist:
Table Name: Wishlist
Description: This Table is store the information about Wishlist
Attribute Data
Description Constraints Example
Name Type
Unique
PRIMARY KEY,
id identifier INT(5) 1
AUTO_INCREMENT
for the user
show time
INT(5) NOT NULL,
added_at of add 2:30PM
UNIQUE
wishlist
INT(5)
show
product_id product id NOT NULL 1
number
38
Watch on
8.Address:
Table Name: Address
Description: This Table is store the information about Address.
Unique PRIMARY
identifie KEY,
r for the AUTO_INCRE
id user INT(5) MENT 1
Users VARCH
country AR NOT NULL,
country name -150 UNIQUE India
User VARCH
city AR
city name NOT NULL Ahmedabad
Show
full
address VARCH
address_ from AR NOT NULL, Navrangpur,Ahm
line User UNIQUE edabad
show
date
and
time to INT(5)
created_ create 02-04-
at address NOT NULL 2024(05:58PM)
show INT(5)
the id
user_id number NOT NULL 1
39
Watch on
of user
show
user VARCH NOT NULL
state state AR Gujarat
40
Watch on
9.Cart:
Table Name: Cart
Description: This Table is store the information about Cart
Unique
identifier PRIMARY KEY,
for the INT(5 AUTO_INCREMEN
id category ) T 1
show
product INT(5
product_i unicnumbe ) NOT NULL,
d r UNIQUE 1
41
Watch on
10.Cotact:
Table Name: Contact
Description: This Table is store the information about Contact.
Attribute Descrip Data
Name tion Type Constraints Example
Unique
identifi
er for PRIMARY
the KEY,
categor AUTO_INCRE
id y INT(5) MENT 1
Catego VARC
category_ ry HAR NOT NULL,
name name -15 UNIQUE Rado
show
user id VARC NOT NULL, dhruvsangani@g
email number HAR UNIQUE mail.com
show
order VARC NOT NULL,
message detail HAR UNIQUE Order details
show
time
submitted and NOT NULL, 01-03-
_at deta INT(5) UNIQUE 2024(9:45AM)
42
Watch on
11.cart_item:
Table Name: Cart item
Description: This Table is store the information about Cart item
Unique
identifier PRIMARY KEY,
for the INT(5 AUTO_INCREMEN
id category ) T 1
show
number of INT(5 NOT NULL,
quantity quantity ) UNIQUE 2
43
Watch on
12.Orders:
Table Name: Orders
Description: This Table is store the information about Orders
Unique
PRIMARY KEY,
identifier
user_id INT(5) AUTO_INCREM 1
for the
ENT
user
VARCH
show a AR
status status of NOT NULL on the way
order
VARCH Navrangpu
show AR ra,
address_id NOT NULL
address id Ahmedaba
d
show user INT(5)
user_id uniqnum NOT NULL 1
ber
44
Watch on
13.Order_product:
Table Name: Order_product
Description: This Table is store the information about Order product
show INT(5
NOT NULL,
quantity quantity of ) 2
UNIQUE
product
INT(5
show a id )
order_id number of NOT NULL 1
product
show a INT(5
product_i ) NOT NULL,
unicnumbe 1
d UNIQUE
r of product
45
Watch on
14.Order_Tracking:
Table Name: Order_tracking
Description: This Table is store the information about Order tracking
Attribute Descripti
Data Type Constraints Example
Name on
Unique
PRIMARY KEY,
identifier
id INT(5) AUTO_INCREM 1
for the
ENT
user
show VARCHA
NOT NULL,
status status od R On the way
UNIQUE
product
VARCHA latest
show the RE update(07-
update_ti
update NOT NULL 03-
me
of time 2025(11:35A
M)
46
Watch on
15.Profile:
Table Name: Profiler
Description: This Table is store the information about Profile
Attribute Descripti
Data Type Constraints Example
Name on
Unique
PRIMARY KEY,
identifier
id INT(5) AUTO_INCREM 1
for the
ENT
user
show
VARCHA
mobile_num mobile NOT NULL, 45679891
RE
ber number UNIQUE 23
of profile
VARCHA
show RE
profile_pictu
profile NOT NULL Image
re
picture
show
first VARCHA
RE NOT NULL,
first_name neme of DHRUV
UNIQUE
profile
user
User Interface:
Log in page:
48
Watch on
Registration page:
49
Watch on
Home page:
50
Watch on
IndexPage:
51
Watch on
Products page:
52
Watch on
Wishlist page:
53
Watch on
Contact page:
54
Watch on
Cart page:
55
Watch on
Product details:
56
Watch on
Payment page:
57
Watch on
Checkout Page:
58
Watch on
Profile:
59
Watch on
Order History:
60
Watch on
Address page:
61
Watch on
New address
62
Watch on
63
Watch on
Categorys
64
Watch on
Orders:
65
Watch on
Products
66
Watch on
Project Report
67
Watch on
Sales Report:
Inventory Report:
o Number of items in stock.
o Out-of-stock items.
o Upcoming restocks.
o Watch models with high demand.
Order Report:
Customer Report:
68
Watch on
5. Export Options
6. User Permissions
7. Responsive Design
Use consistent branding with the company’s logo and color scheme.
Ensure the layout is clean and readable, especially in tables and
charts.
69
Watch on
9. Performance Considerations
Models: Create models to store order and product data, which can
be queried for reports.
Views: Define views to fetch and process report data.
Templates: Design report templates using HTML and CSS,
incorporating charts (using libraries like Chart.js or Plotly).
Custom Filters: Implement custom filters in views for generating
dynamic reports based on user input.
Django Admin: For simple reports, consider using Django's built-
in admin interface, which can be customized to show necessary
data.
70
Watch on
Coding Standards:
File Structure:
Organize project files into logical directories, e.g., models, views, urls,
templates, static.Use consistent naming conventions for files (e.g.,
views.py, models.py).
71
Watch on
Naming Conventions
72
Watch on
Form Handling
Use Django forms for handling user input instead of raw request
data.Validate input data and provide meaningful feedback for errors.
73
Watch on
Security Practices
74
Watch on
Code Formatting
Follow the PEP 8 style guide for Python code, including indentation, line
length, and whitespace usage.Use a consistent style for brackets, e.g.,
placing opening brackets on the same line.
75
Watch on
Views.py:
76
Watch on
Models.py:
77
Watch on
Urls.py:
78
Watch on
Comments:
79
Watch on
80
Watch on
Test Cases :-
User Registration
Test
Case Test Expected Pass
ID Description Steps Result Actual Result (Y/N)
System System
Use an email prevents prevents
Verify already registration registration
TC- duplicate registered to and shows a and shows a
UR- email try creating a duplicate duplicate
03 registration new account. email error. email error. Y
81
Watch on
User Login:
Test
Case Test Expected Pass
ID Description Steps Result Actual Result (Y/N)
Enter valid
TC- Verify login email and User is User is
UL- with valid password and successfully successfully
01 credentials submit. logged in. logged in. Y
82
Watch on
Payment Integration:
Test
Case Pass
ID Test Description Steps Expected Result (Y/N)
Enter invalid or
Verify payment expired card Payment fails, and
TC- with invalid card details and attempt an error message is
PI-02 details payment. shown. Y
83
Watch on
Proposed Enhancements
Add autocomplete suggestions for the search bar to help users find
watches more easily.
Include filters like "Best Sellers" and "New Arrivals" for a better user
experience.
Enable users to share their wishlist with friends or family via a link or
email.
Email Notifications
Send email updates for order status, promotional discounts, and restocked
products.
Mobile-Friendly Enhancements
Provide an option for users to save their payment details securely for
future purchases.
Use a zoom feature for product images to allow users to view details
more closely.
Allow users to cancel or modify their orders before they are shipped.
85
Watch on
Conclusion:
The Online Watch Selling System successfully bridges gaps in the current
market by delivering a user-friendly platform with robust features such as
detailed product catalogs, secure payment methods, and efficient order
management. Through a combination of innovative technologies like
search filters, advanced analytics, and real-time order tracking, the
platform enhances the overall shopping experience for users and
empowers administrators with efficient management tools.
86
Watch on
Bibliography:-
from https://docs.djangoproject.com
from https://stripe.com/docs
from https://www.python.org/doc/
87