Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 36

CHAPTER 1 : INTRODUCTION

Today the world is growing smart and online, everyone has smartphones, smartwatches,
online instruments to make their life easy. That’s why the world is working with new
technologies like software applications, web portal, web applications.

1.1-Abstract

As we seen many times we need many things as soon as possible like clothing, hardware,
electronics and electricals or many more things. This system will deliver what you want from
your near by shops as your current location, with fastest delivery like online food delivery.

1.2-Existing System and Need for System

There are many existing systems for online shopping and ordering, ranging from simple e-
commerce platforms to more complex systems that incorporate inventory management,
customer relationship management, and other features. For example Amazon, Flipcart But
currently there is no one who provide fastest delivery with current surrounding. So we are
here to Provide fastest Delivery service and solve yours on time problems.

1.3-Scope of System

Online services is one of the fastest-growing domains in the online world. Sellers can deal in
a wide range of products. As we are providing fastest delivery though it won’t took time for
this system to be accepted by the end-users.

1.4 -Operating Environment Hardware and Software

Hardware Specification

• RAM:4 GB

• HDD:50 GB

1
Software specification

• Front-End: HTML, CSS, Bootstrap, JS

• Back-End: Python, Django

• Database: Postgresql

1.5 -Brief Description of Technology used

• HTML: HTML stands for Hyper Text Markup Language. It is used to design web
pages using a markup language. HTML is the combination of Hypertext and Markup
language. Hypertext defines the link between web pages. A markup language is used
to define the text document within the tag which defines the structure of web pages.
This language is used to annotate (make notes for the computer) text so that a
machine can understand it and manipulate text accordingly. Most markup languages
(e.g. HTML) are human-readable. The language uses tags to define what manipulation
has to be done on the text.

• CSS: CSS stands for Cascading Style Sheets. CSS describes how HTML elements are
to be displayed on screen, paper, or in other media. CSS saves a lot of work. It can
control the layout of multiple web pages all at once. External stylesheets are stored in
CSS files.

• Bootstrap: Bootstrap is the most popular HTML, CSS and JavaScript framework for
developing a responsive and mobile friendly website. It is absolutely free to download
and use. It is a frontend framework used for easier and faster web development. It
includes HTML and CSS based design templates for typography, forms, buttons,
tables, navigation, modals, image carousels and many others. It can also use
JavaScript plug-ins. It facilitates you to create responsive designs.

• Python: Python is a high-level, interpreted programming language known for its


simplicity and readability. It was created by Guido van Rossum and first released in
1991. Python is widely used in various domains, including web development, data
analysis, machine learning, and scientific computing. python's versatility, simplicity,
and extensive ecosystem have contributed to its widespread adoption and popularity

2
among developers. It continues to evolve with regular updates and enhancements,
ensuring its relevance in modern software development.

• PostgreSQL: PostgreSQL is an open-source, object-relational database management


system (DBMS) known for its reliability, scalability, and extensive features. It
provides support for advanced data types, indexing, transactions, and querying
capabilities. PostgreSQL is widely used in various applications ranging from small
projects to large-scale enterprise systems. It is supported on multiple platforms,
including Linux, macOS, and Windows, and has a large and active community
contributing to its development and maintenance.

3
CHAPTER 2 : PROPOSED SYSTEM

2.1 Feasibility Study

 It is economically feasible, as it does not requires much maintenance, so the


maintenance cost is not so much.
 It is also technically feasible, as the technology used in this project has a very good
user interface.
 It is legally feasible, as password is stored in encrypted form.
 It is operationally feasible as it provides solution to all the major problems of farmers
and users removing broker.

2.2 Objectives of the proposed system

 The objective of this system is to create an Product System web portal.


 The web portal will have an online interface in the form of a Product based website.
 The website will allow user to connect with the nearest shops.
 The system Works for customer’s satisfaction.

2.3 Users of the system

 Admin
 Shop
 Delivery Partner
 Customer

4
CHAPTER 3 : ANALYSIS AND DESIGN

 ER Diagram

5
Class Diagram

6
Admin Usecase Diagram

7
Shop Usecase Diagram

8
Delivery Usecase Diagram

9
Customer Usecase Diagram

10
Admin Activity Diagram

11
Shop Activity Diagram

12
Delivery Activity Diagram

13
Customer Activity Diagram

14
15
Sequence Diagram

16
Componant Diagram

17
Module Hierarchi Diagram

18
Admin Table

Field Name Datatype Size Constraints


A_id int 4 Primary key
a_pwd Varchar 10 Not null
a_name Varchar 30 Not null
a_email varchar 20 Not null

Shopkeeper Table
Field Name Datatype Size Constraints
S_id int 10 Primary key
s_pwd Varchar 10 Not null
s_name Varchar 30 Not null
s_no int 10 Not null
s_address Varchar 30 Not null

Door-step Table
Field Name Datatype Size Constraints
D_id int 10 Primary key
d_pwd Varchar 10 Not null
d_name Varchar 30 Not null
d_no int 10 Not null
d_address varchar 30 Not null

Customer Table
Field Name Datatype Size Constraints

19
C_id Int 10 Primary key
c_pwd Varchar 10 Not null
c_name Varchar 30 Not null
c_no Int 10 Not null
c_adress Varchar 30 Not null

Product Table
Field Name Datatype Size Constraints
Pr_id int 10 Primary key
pr_name Varchar 30 Not null
pr_amt Float 10 Not null
pr_qty int 10 Not null

Payment Table
Field Name Datatype Size Constraints
P_id int 10 Primary key
p_amt Float 10 Not null
p_type Type 20 Not null
p_date date 10 Not null

Order Details
Field Name Datatype Size Constraints
O_id Int 10 Primary Key
Pr_id Int 10 Foreign Key
S_id Int 10 Foreign Key
C_id Int 10 Foreign Key
P_id Int 10 Foreign Key

20
D_id Int 10 Foreign Key

Data Dictionary
Field Name Datatype Size Constraints Description Table name
A_id int 10 Primary key Represents Admin id Admin
a_pwd Varchar 30 Unique key Represents Admin password Admin
a_name Varchar 20 Not null Represents Admin name Admin
a_email varchar 20 Not null Represents Admin Email Admin
S_id int 10 Primary key Represents Shopkeeper id Shop
s_pwd Varchar 10 Unique key Represents Shopkeeper password Shop
s_name Varchar 30 Not null Represents Shopkeeper name Shop
s_no int 20 Not null Represents Shopkeeper number Shop
s_address varchar 10 Not null Represents Shopkeeper address Shop
D_id int 10 Primary key Represents Door-step id Delivery Partner
d_pwd Varchar 10 Unique key Represents Door-step password Delivery Partner
d_name Varchar 30 Not null Represents Door-step name Delivery Partner
d_no int 20 Not null Represents Door-step number Delivery Partner
d_address varchar 30 Not null Represents Door-step address Delivery Partner
C_id int 10 Primary key Represents customer id Customer
c_pwd Varchar 10 Unique key Represents customer password Customer
c_name Varchar 10 Not null Represents customer name Customer
c_no int 30 Not null Represents customer number Customer
c_address Varchar 20 Not null Represents customer address Customer
Pr_id int 10 Primary key Represents product id Product

21
pr_name Varchar 10 Not null Represents product name Product
pr_amt float 10 Not null Represents product amount Product
pr_qty int 10 Not null Represents product amount Product
P_id int 10 Primary key Represents payment id Payment
p_amt float 10 Not null Represents payment amount Payment
p_type Type 10 Not null Represents payment type Payment
p_date Date 10 Not null Represents payment date Payment
O_id Int 10 Primary key Represents order id Order details
Pr_id Int 10 Foreign Key Represents Product id Order details
S_id Int 10 Foreign Key Represents Shop id Order details
C_id Int 10 Foreign Key Represents Customer id Order details
P_id Int 10 Foreign Key Represents Payment id Order details
D_id Int 10 Foreign Key Represents Delivery Partner id Order details

22
Test Cases

Test case
id Test case description Input Expected output

Name: john doe <br> email:


Valid registration with johndoe@example.com <br> Registration
Tc001 all required fields password: password123 successful

Name: <empty> <br> email:


Invalid registration with johndoe@example.com <br> Error: name field is
Tc002 missing name password: password123 required
Name: john doe <br> email:
Invalid registration with invalid_email <br> password: Error: invalid email
Tc003 invalid email format password123 format
Error: password
should contain at
least 8 characters,
Name: john doe <br> email: including uppercase
Invalid registration with johndoe@example.com <br> and lowercase
Tc004 weak password password: weakpass letters, and numbers

Name: jane smith <br> email:


Invalid registration with johndoe@example.com <br> Error: email already
Tc005 existing email password: password123 exists in the system

Tc006
Invalid registration with Name: john doe <br> email: Error: email field is
23
<empty> <br> password:
missing email password123 required
Test cases for Registration:-

Test cases for Login:-

Test Case Test Case Description Input Expected Output


ID

TC001 Valid login with correct Email: johndoe@example.com <br> Login successful
credentials Password: Password123

TC002 Invalid login with Email: invalid_email <br> Password: Error: Invalid email or
incorrect email Password123 password

TC003 Invalid login with Email: johndoe@example.com <br> Error: Invalid email or
incorrect password Password: wrongpassword password

TC004 Invalid login with missing Email: <empty> <br> Password: Error: Email field is
email Password123 required

TC005 Invalid login with missing Email: johndoe@example.com <br> Error: Password field
password Password: <empty> is required

24
Sample Input and Output Screens

25
26
CHAPTER 4 : CODING Sample code
1.1Manage.py
import os
import sys

def main():
os.environ.setdefault('DJANGO_SETTINGS_MODULE')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)

27
if __name__ == '__main__':
main()

1.2 Views.py
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.mixins import LoginRequiredMixin
from django.http import HttpResponse
from django.shortcuts import redirect, render
from django.views.generic import TemplateView
from django.views.generic.base import View
from geopy.geocoders import Nominatim

from accounts.account_links import *


from accounts.models import *
from accounts.utils import *
from .forms import UserForm

geolocator = Nominatim(user_agent="foodsquare")

from django.core.mail import send_mail

def recoveryRender(request):
return HttpResponse("Enter email to recover !!!")

def homepageRender(request):
return render(request, USER_DASHBOARD_PAGE)

class LoginView(TemplateView):
template_name = 'accounts/login_v4.html'

def get(self, request, *args, **kwargs):


if self.request.user.is_authenticated:
return redirect('/')
else:
return super().get(request, *args, **kwargs)

def get_context_data(self, **kwargs):


ctx = {'loggedIn': self.request.user.is_authenticated}
return ctx

def post(self, request, *args, **kwargs):


print(pretty_request(request))
username = request.POST.get('username', False)
password = request.POST.get('pass', False)
if username and password:

28
user = authenticate(request, username=username, password=password)
if user is not None and user.is_customer:
login(request, user)
print('Signing in: ' + str(request.user))
return redirect('/')
elif user is None:
return render(request, 'accounts/message_page.html',
{'header': "Error !", 'details': 'Invalid
Username or Password',
'redirect': reverse('accounts:login')})
# return JsonResponse({'account': False})
elif not user.is_customer:
return render(request, 'accounts/message_page.html',
{'header': "Error !", 'details': 'Not a Customer
account',
'redirect': reverse('accounts:login')})
# return JsonResponse({'account': True, 'customer': False})
else:
return render(request, 'accounts/message_page.html',
{'header': "Error !", 'details': 'Username or
password is empty',
'redirect': reverse('accounts:login')})

1.3 Index.html
<!doctype html>

<html lang="en">
<head>
<title>Manager | Catchy</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,
shrink-to-fit=no">
{% load static %}
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700"
rel="stylesheet">
<link rel="stylesheet" href="{% static 'finances/fonts/icomoon/style.css'
%}">

<link rel="stylesheet" href="{% static 'finances/css/bootstrap.min.css'


%}">
<link rel="stylesheet" href="{% static 'finances/css/jquery-ui.css' %}">
<link rel="stylesheet" href="{% static 'finances/css/owl.carousel.min.css'
%}">

29
<link rel="stylesheet" href="{% static
'finances/css/owl.theme.default.min.css' %}">
<link rel="stylesheet" href="{% static
'finances/css/owl.theme.default.min.css' %}">

<link rel="stylesheet" href="{% static


'finances/css/jquery.fancybox.min.css' %}">

<link rel="stylesheet" href="{% static 'finances/css/bootstrap-


datepicker.css' %}">

<link rel="stylesheet" href="{% static


'finances/fonts/flaticon/font/flaticon.css' %}">

<link rel="stylesheet" href="{% static 'finances/css/aos.css' %}">

<link rel="stylesheet" href="{% static 'finances/css/style.css' %}">

</head>
<body data-spy="scroll" data-target=".site-navbar-target" data-offset="300">

<div id="overlayer"></div>
<div class="loader">
<div class="spinner-border text-primary" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>

<div class="site-wrap">

<div class="site-mobile-menu site-navbar-target">


<div class="site-mobile-menu-header">
<div class="site-mobile-menu-close mt-3">
<span class="icon-close2 js-menu-toggle"></span>
</div>
</div>
<div class="site-mobile-menu-body"></div>
</div>

<header class="site-navbar js-sticky-header site-navbar-target"


role="banner">

<div class="container">
<div class="row align-items-center">

<div class="col-6 col-xl-2">

30
<h1 class="mb-0 site-logo"><a href="index.html" class="h2
mb-0">Catchy<span
class="text-primary"></span> </a></h1>
</div>

<div class="col-12 col-md-10 d-none d-xl-block">


<nav class="site-navigation position-relative text-right"
role="navigation">

<ul class="site-menu main-menu js-clone-nav mr-auto d-


none d-lg-block">
<li><a href="#home-section" class="nav-
link">Home</a></li>
<li class="has-children">
<a href="#about-section" class="nav-
link">Login/Register</a>
<ul class="dropdown">
<li><a href="/accounts/manager_login/"
class="nav-link">Login</a></li>
<li><a href="/accounts/manager_register/"
class="nav-link">Register</a></li>
</ul>
</li>

<li><a href="#contact-section" class="nav-


link">Contact</a></li>
<li class="social"><a href="#contact-section"
class="nav-link"><span
class="icon-facebook"></span></a></li>
<li class="social"><a href="#contact-section"
class="nav-link"><span
class="icon-twitter"></span></a></li>
<li class="social"><a href="#contact-section"
class="nav-link"><span
class="icon-linkedin"></span></a></li>
</ul>
</nav>
</div>

<div class="col-6 d-inline-block d-xl-none ml-md-0 py-3"


style="position: relative; top: 3px;"><a
href="#" class="site-menu-toggle js-menu-toggle float-
right"><span class="icon-menu h3"></span></a>
</div>

</div>
</div>

31
</header>

CHAPTER 5 : LIMITATIONS OF THE SYSTEM


1. Lack of Physical Inspection: Unlike traditional brick-and-mortar stores, online
shopping does not allow customers to physically inspect or try out products before
making a purchase.
2. Security and Privacy Concerns: Online shopping involves sharing personal and
financial information over the internet, which raises concerns about data security and
privacy.
3. Difficulty in Resolving Issues: When problems arise with an online purchase, such as
receiving a damaged item or facing a billing discrepancy, resolving the issue may
require additional effort and communication with customer support.

32
CHAPTER 6 : PROPOSED ENHANCEMENT
1. Enhanced Customer Reviews and Ratings: Implement a robust review and rating
system that includes verified customer feedback, photos, and videos.
2. Real-Time Customer Support: Offer live chat or video chat support to provide real-
time assistance and address customer queries, concerns, or issues during the shopping
process.
3. Enhanced Security Measures: Invest in robust security measures, such as SSL
encryption, two-factor authentication, and regular security audits, to safeguard
customer data and protect against cyber threats.

33
CHAPTER 7 : CONCLUSION
The online shopping system offers a convenient and accessible platform for customers to
browse and purchase products from the comfort of their homes. It provides a wide range of
products, making it easier for customers to find what they need. However, the system also has
certain limitations that need to be addressed. These limitations include limited product
information, lack of personalized recommendations, potential security concerns, and
challenges related to returns and exchanges. To overcome these limitations and enhance the
overall shopping experience, various enhancements have been proposed. By implementing
improvements such as improved product descriptions and visuals, virtual fitting rooms,
enhanced customer reviews, real-time customer support, and seamless return processes, the
online shopping system can offer a more engaging and satisfactory experience for customers.
Additionally, incorporating features like personalization, social shopping integration, and
sustainable shopping options can further enhance customer satisfaction and loyalty.

34
CHAPTER 8 : BIBLIOGRAPHY
Books:-
1. System Analysis and Design (Second Edition) by Elias M. Awad, Galgotia Publications
Pvt. Ltd.
2. Software Engineering : A Practitioner’s Approach (Seventh Edition) by Roger S.
Pressman, McGraw Hill International Edition.
3. Analysis and Design of Information Systems (Second Edition) by James A. Senn, McGraw
Hill International Editions.
4. Django for Beginners" by William S. Vincent: This book is a beginner-friendly guide that
takes you through the process of building web applications with Django. It covers the
basics of Django, including models, views, templates, forms, and authentication.

Websites:-
1. https://www.w3schools.com

35
2. https://youtube.com
3. https://djangoforbeginners.com
4. https://www.chatgpt.com

36

You might also like