E Commerce Project
E Commerce Project
A PROJECT REPORT
Submitted by
NIVITHRA V(20EUIT098)
PREETHIKHA G(20EUIT109)
PRIYADHARSHINI B(20EUIT110)
RITHIKA S(20EUIT119)
BACHELOR OF ENGINEERING
IN
IFORMATION TECHNOLOGY
NOVEMBER 2022
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
We express our sincere thanks to the management and Dr. J. JANET, M.E.,
Ph.D., Principal, Sri Krishna College of Engineering and Technology,
Coimbatore for providing us the facilities to carry out this project work.
We express our deep sense of gratitude to our guide, Ms. RAIHANA A, Assistant
Professor/Associate Professor/Professor in the department of Information
Technology for her valuable guidance and support during the course of our
project work.
We would also like to thank our project coordinator Ms. RAIHANA A Assistant
Professor, Department of Information Technology for helping us in completing
our project work.
By this, we express our heartfelt sense of gratitude and thanks to our beloved
parents, family and friends who have all helped in collecting the resources and
materials needed for this project and for their support during the study and
implementation this project.
ABSTRACT
1 INTRODUCTION
1.1 Overview
1.2 Need for Swiftcart
1.3 Literature survey
1.4 Objective
2 SYSTEM ANALYSIS
2.1 Existing System
2.2 Problem definition
2.3 Proposed System
2.4 Feasibility study
2.4.1 economic feasibility
2.4.2 operational feasibility
2.4.3 technical feasibility
2.4.4 scope of the project
4 SYSTEM DESIGN
4.1 System architecture
4.3flowchart
4.3 module description
4.3.1 Login Page
4.3.2 Authentication with email Verification
4.3.3 Add to cart functionality
4.3.4 Adding products category wise
4.3.5 Paytm Integration
6
4.3.6 Order Management
4.3.7 Product Catalog
4.4 data flow diagram
4.4.1 context diagram
4.4.2 level-1 DFD
4.4.3 level-2 DFD
6 SYSTEM TESTING
6.1 test plan
8 REFERENCE
7
LIST OF TABLES
1 USER
2 PRODUCT
3 ORDER
4 PAYMENT
8
LIST OF FIGURES
LIST OF ABBREVIATIONS
INTRODUCTION
1.1 OVERVIEW
The need for an e-commerce project arises from the increasing trend of online
shopping and the convenience it offers to consumers. E-commerce has
become an essential part of the modern retail industry, allowing businesses to
sell products and services online to a global audience. Here are some reasons
why an e-commerce project may be necessary:
12
1. Reach a wider audience: An e-commerce project can help businesses reach
customers who are geographically distant or have limited access to brick-
and-mortar stores. With an online store, businesses can expand their
customer base and sell products to people all over the world.
Overall, the literature on ecommerce shopping carts focuses on various aspects such
as design, usability, security, and customer behaviour to provide a better
understanding of how to improve the shopping experience and reduce cart
abandonment.
16
1.4 OBJECTIVE:
4. Build brand awareness: E-commerce websites can also help businesses build
brand awareness by providing a platform to showcase their products or
services, promote their brand identity, and communicate with customers.
17
5. Data analysis: E-commerce websites can provide businesses with valuable
insights into customer behaviour, preferences, and trends. By analysing this
data, businesses can optimize their product offerings, pricing, marketing
strategies, and customer service.
18
CHAPTER 2
SYSTEM ANALYSIS
Traditionally, customers are used to buying the products at the real, in other
words, factual shops or supermarkets. It needs the customers to show up in the
shops in person and it also needs the owners of shops to stock, exhibit,
and transfer the products required by customers.
It takes labour, time, and space to process these operations. Furthermore, the
spread of the Covid-19 pandemic has caused a lot of changes in our lifestyle.
Big to small scale business that relied on the traditional incur a lot of
consequence due to the lockdown issues. Some tend to move towards using
social media platforms to sell their product. Everyone started to use social
media, posing a great challenge to differentiate between scammers and legit
sellers.
The webpage should provide a search bar for the user to search for the products
of his/her choice and to add them in the cart and checkout. It should provide
functionality for an admin to log in and modify the database.
20
For the convenience of online shopping, a shopping cart is provided to the
user. After the selection of the goods, it is sent for the order confirmation
process. The system is implemented using the python web framework Django.
The e-commerce shopping cart with Paytm integration can be a great solution for
businesses that want to accept payments online. Here is a proposed system for an e-
commerce shopping cart with Paytm integration:
User Interface: The shopping cart website has an easy-to-use and intuitive user
interface that enables customers to browse products, add items to their cart, and
checkout.
Product Management: The website allows the business owner to manage their
product inventory, including adding new products, updating product information,
and managing stock levels.
Shopping Cart: The shopping cart allows customers to add items to their cart, view
their cart, and adjust the quantity of items they wish to purchase.
Traditionally, customers are used to buying the products at the real, in other words,
factual shops or supermarkets. It needs the customers to show up in the shops in
person and it also needs the owners of shops to stock, exhibit, and transfer the
products required by customers. It takes labour, time, and space to process these
operations. Furthermore, the spread of the Covid-19 pandemic has caused a lot of
changes in our lifestyle. Big to small scale business that relied on the traditional
incur a lot of consequence due to the lockdown issues. Some tend to move towards
25
using social media platforms to sell their product. Everyone started to use social
media, posing a great challenge to differentiate between scammers and legit sellers.
The webpage should provide a search bar for the user to search for the products of
his/her choice and to add them in the cart and checkout. It should provide
functionality for an admin to log in and modify the database.
For the convenience of online shopping, a shopping cart is provided to the user.
After the selection of the goods, it is sent for the order confirmation process. The
system is implemented using the python web framework Django.
The system requirements specification for our e-commerce shopping cart project
would typically include a variety of hardware and software specifications that are
necessary to ensure that the shopping cart system functions properly. Here are some
of the key requirements:
➢ Platform - Windows
➢ Frontend -
HTML,CSS,Javascripts,Bookstrap
Model: Model is going to act as the interface of your data. It is responsible for
maintaining data. It is the logical data structure behind the entire application and
is represented by a database (generally relational databases such as MySql,
Postgres).
View: The View is the user interface — what you see in your browser when you
render a website. It is represented by HTML/CSS/Javascript and Jinja files.
Template: A template consists of static parts of the desired HTML output as well
as some special syntax describing how dynamic content will be inserted.
28
CHAPTER 4
SYSTEM DESIGN
This module generate a verification link and send it to the user's email.It
authenticates whether the user is a valid user. It sends the confirmation link to
activate the account.
This module is used to group products with similar features. We can also add
subcategories if desired. Product category marketing focuses on promoting certain
categories to meet consumer expectations.
This module offers the payment plugins and hosted sites for the Swiftcart to collect
online payments from the customers on the website via Paytm Payment Gateway.
The user place an order in the Swiftcart.The company receives an order from the
customer. The company enters the order into their system. The customer gets a
notification that the company received the order.
User Table: This table can include user information such as name, email, password,
address, and contact information.
TABLE 1
36
Product Table: This table can include information about the products available for
sale on the e-commerce website, such as name, description, price, and availability.
Product ID Name Description Price Quantity Available
Payment Table: This table can include information about customer payments, such
as the payment ID, order ID, payment amount, payment date, and payment status.
5.1 IMPLEMENTATION
• Python
2. Design the database schema: Create a database schema that represents the
application's data models, such as users, products, orders, and payments. Use
Django's ORM to define the models and their relationships.
3. Implement the frontend: Use HTML, CSS, and JavaScript to build the user
interface for the application. Use a frontend framework such as Bootstrap or
Materialize to speed up the development process.
4. Build the backend: Use Django to build the backend of the application,
including views, models, forms, and templates. Implement features such as
38
user authentication, product search, product filtering, cart management, and
order processing.
\
47
48
1. Error Faults.
Errors Faults defines the number of errors that have occurred during
the development of the software that in effect have changed or diverted
the entire process of the functioning of the software.
2.Reliability.
The second important factor that comes out as result of testing is
Reliability. By testing the entire software, we can easily find out the
reliability of the software. So, testing provides a platform for the
software developers to develop software that are error free and in
effect, efficient and reliable.
49
Testing can be categorized into the following types depending on their use and
purpose in the development of the software. They are:
CHAPTER 6
SYSTEM TESTING
7.1 CONCLUSION
There are several potential future enhancements that could be made to our e-
commerce shopping cart with Paytm integration project. Here are a few possible
additions:
Integration with additional payment gateways: In addition to Paytm, there are
several other payment gateways available that businesses may want to integrate with
their shopping cart. These could include popular options like PayPal, Stripe, or
4
Amazon Pay. By integrating with multiple payment gateways, businesses can offer
customers more payment options and potentially increase sales.
Mobile application development: Many customers prefer to shop using mobile
applications, so developing a mobile app for the shopping cart could be a good future
enhancement. The app could include features such as push notifications, a
streamlined checkout process, and personalized product recommendations.
Personalization and recommendation features: Using machine learning
algorithms, businesses could add personalization and recommendation features to
the shopping cart. This could include personalized product recommendations based
on a customer's past purchases or browsing history, or customized promotions and
discounts based on their shopping behavior.
Integration with social media platforms: Social media integration could enable
customers to share products they like on their social media profiles, which could
help drive traffic to the shopping cart. Additionally, businesses could leverage social
media analytics to gain insights into customer behavior and preferences.
Improvements to order fulfillment and shipping: Businesses could improve the
shopping experience by enhancing order fulfillment and shipping capabilities. This
could include offering faster shipping options, real-time order tracking, and better
communication with customers about the status of their orders.
Implementing chatbots for customer service: Chatbots can help customers
quickly get answers to their questions, which can improve the customer experience.
Chatbots can also help reduce the load on customer service teams, allowing them to
focus on more complex inquiries.
Overall, there are many potential enhancements that could be made to our e-
commerce shopping cart with Paytm integration project. By staying up-to-date with
the latest technologies and customer preferences, businesses can continue to provide
a great shopping experience for their customers and increase their online sales.
5
CHAPTER 8
APPENDIX:
from django.urls import path from authcart import views urlpatterns = [
path('signup/',views.signup,name='signup'),
path('login/',views.handlelogin,name='handlelogin'),
path('logout/',views.handlelogout,name='handlelogout'),
path('activate/<uidb64>/<token>',views.ActivateAccountView.as_view(),name='ac
tivate'), path('request-reset-
email/',views.RequestResetEmailView.as_view(),name='request-reset-email'),
path('set-new-
password/<uidb64>/<token>',views.SetNewPasswordView.as_view(),name='set-
new-password'), ]
urlpatterns = [
path('admin/', admin.site.urls),
path('',include("ecommerceapp.urls")),
path('auth/',include("authcart.urls"))
]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
})
# email_message =
EmailMessage(email_subject,message,settings.EMAIL_HOST_USER,[email])
# email_message.send()
messages.success(request,f"Activate Your Account by clicking the link in
your gmail {message}")
8
return redirect('/auth/login/')
return render(request,"signup.html")
class ActivateAccountView(View):
def get(self,request,uidb64,token):
try:
uid=force_text(urlsafe_base64_decode(uidb64))
user=User.objects.get(pk=uid)
except Exception as identifier:
user=None
if user is not None and generate_token.check_token(user,token):
user.is_active=True
user.save()
def handlelogin(request):
if request.method=="POST":
username=request.POST['email']
userpassword=request.POST['pass1']
myuser=authenticate(username=username,password=userpassword)
else:
messages.error(request,"Invalid Credentials")
return redirect('/auth/login')
return render(request,'login.html')
def handlelogout(request):
logout(request)
messages.info(request,"Logout Success")
return redirect('/auth/login')
class RequestResetEmailView(View):
def get(self,request):
return render(request,'request-reset-email.html')
def post(self,request):
email=request.POST['email']
user=User.objects.filter(email=email)
if user.exists():
# current_site=get_current_site(request)
email_subject='[Reset Your Password]'
message=render_to_string('reset-user-password.html',{
10
'domain':'127.0.0.1:8000',
'uid':urlsafe_base64_encode(force_bytes(user[0].pk)),
'token':PasswordResetTokenGenerator().make_token(user[0])
})
#
email_message=EmailMessage(email_subject,message,settings.EMAIL_HOST_U
SER,[email])
# email_message.send()
class SetNewPasswordView(View):
def get(self,request,uidb64,token):
context = {
'uidb64':uidb64,
'token':token
}
try:
user_id=force_text(urlsafe_base64_decode(uidb64))
user=User.objects.get(pk=user_id)
if not PasswordResetTokenGenerator().check_token(user,token):
messages.warning(request,"Password Reset Link is Invalid")
return render(request,'request-reset-email.html')
11
return render(request,'set-new-password.html',context)
def post(self,request,uidb64,token):
context={
'uidb64':uidb64,
'token':token
}
password=request.POST['pass1']
confirm_password=request.POST['pass2']
if password!=confirm_password:
messages.warning(request,"Password is Not Matching")
return render(request,'set-new-password.html',context)
try:
user_id=force_text(urlsafe_base64_decode(uidb64))
user=User.objects.get(pk=user_id)
user.set_password(password)
user.save()
messages.success(request,"Password Reset Success Please Login with
NewPassword")
return redirect('/auth/login/')
return render(request,'set-new-password.html',context)
9. REFERENCES:
[1] Albert H., Judd, Rivers, (2006) “Creating a winning E-Business”, Wagner
Course Technology Thomson Learning, pp. 37-255.
[2] Alawneh A., and Hattab E, (2007) “E-Business Value Creation: An
Exploratory Study, Proceedings of the Seventh International Conference on
Electronic Business”, Taipei, pp. 181-188.
[3] Alawneh A., and Hattab E (2009). “International Arab Journal of e-
Technology”, Vol. 1, No. 2, pp. 1-8
[4] Amit B. and Steve M. (2007), “How to Plan E-Business Initiatives in
Established Companies”, Vol. 49, No. 1, pp. 11-22
[5] Aranda-M., G. and Stewart, P. (2005), “Barriers to E-Business Adoption in
construction international literature review”, pp. 33-49
[6] Ayo, Charles K. (2006). “The Prospects of e-Commerce Implementation in
Nigeria, Journal of Internet Banking and Commerce”, Vol. 11, No.3, pp. 68-
75
[7] Amar. K., Sohani, (2009), “Technology and Banking Sector”, ICFAI
University Press, pp. 1-39
[8] Brahm C., (2009) “E-Business and Commerce Strategic Thinking and
Practice”, Houghton Mifflin, pp. 114-312.
13
[9] Chiemeke, S. C., Evwiekpaefe, A. and Chete, F. (2006), “The Adoption of
Internet Banking in Nigeria: An Empirical Investigation, Journal of Internet
Banking and Commerce”, vol. 11, No.3, pp 33-49
[10] David W, (2001) “E-Commerce Strategy, Technologies and Applications”,
Tata McGraw Hill, pp. 3-143.
[11] Daft, Richard L. (1982), “ Bureaucratic Versus Nonbureaucratic Structure and
the process of Innovation and Change”, pp. 129-166
[12] Earl, M. (2000), “Evolving the E-Business, Business Strategy Review”, pp.
33-38
[13] Eben.O (2003) “A Systematic Approach to E-Business Security”, pp. 87-103
[14] Hackbarth, G. & Kettinger W. J. (2000), “Building an E-Business Strategy:
Information Systems Management” pp. 78-90.
[15] Kalakota, R. and Robinson M. (1999), “E-Business: Roadmap for success”,
Addison-Wesley, 112-149
[16] Karjaluoto H., Mattila M. (2002). “Electronic Banking in Finland: Consumer
Beliefs and Reactions to a New Delivery Channel, Journal of Financial
Services Marketing”, Vol. 6, No. 4, 2002, pp. 346–361
[17] Laudon, K. and Traver, C. (2008), “ E-Commerce: Business, Technology,
Society”, 4th Edition, Prentice Hall, pp.48-67
[18] Melao, N. (2008), “ E-Business Processes and E-Business Process Modeling:
A State-of-the-Art Overview”, pp. 54-89
[19] Mendo, F. and Fitzgerald, G. (2005), “Theoretical Approaches to Study SMEs
E-Business Progression”, Journal of Computing and Information
Technology, Vol. 13, No. 02, pp. 123-136
[20] Namita.R (2011). “Global Journal of Enterprise Information System”, Vol. 3,
No. 1, pp. 17-31
14
[21] Peterson O,(2009), “Communications of the IBIMA”, Vol. 8, Issue No. 3, pp.
175-190