0% found this document useful (0 votes)
42 views

Django Ecommerce Documentation (Replica)

The document discusses an ecommerce web application. It describes how electronic commerce allows people to buy and sell products online without physical effort. The main advantages are being able to browse and compare prices from home. Security remains a challenge for ecommerce growth. The document then discusses the objectives, scope, functional and non-functional requirements for developing an ecommerce system.

Uploaded by

Ayeesha Bee
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

Django Ecommerce Documentation (Replica)

The document discusses an ecommerce web application. It describes how electronic commerce allows people to buy and sell products online without physical effort. The main advantages are being able to browse and compare prices from home. Security remains a challenge for ecommerce growth. The document then discusses the objectives, scope, functional and non-functional requirements for developing an ecommerce system.

Uploaded by

Ayeesha Bee
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 20

ECOMMERCE WEB APPLICATION

ABSTRACT

Electronic Commerce is process of doing business through computer networks. A person


sitting on his chair in front of a computer can access all the facilities of the Internet to buy
or sell the products.
Unlike traditional commerce that is carried out physically with effort of a person to go & get
products, ecommerce has made it easier for human to reduce physical work and to save
time. E-Commerce which was started in early 1990’s has taken a great leap in the world of
computers, but the fact that has hindered the growth of e-commerce is security. Security is
the challenge facing e-commerce today & there is still a lot of advancement made in the field
of security.
The main advantage of e-commerce over traditional commerce is the user can browse
online shops, compare prices and order merchandise sitting at home on their PC.
For increasing the use of e-commerce in developing countries the B2B e-commerce is
implemented for improving access to global markets for firms in developing countries. For a
developing country advancement in the field of e-commerce is essential. The research
strategy shows the importance of the e-commerce in developing countries for business
applications.

Electronic commerce or ecommerce is a term for any type of business, or commercial


transaction, that involves the transfer of information across the Internet. It covers a range
of different types of businesses, from consumer-based retail sites, through auction or music
sites, to business exchanges trading goods and services between corporations. It is currently
one of the most important aspects of the Internet to emerge.
INTRODUCTION

1.1 Objective of proposed system

The Objective of Ecommerce might differ based on the business, but generally they
comprise lower costs, increasing sales, and improving customer satisfaction. Sales can be
increased by attracting more customers through improved marketing strategies or by
lowering the cost of products sold. Costs can be lowered by determining ways to reduce
manufacturing and distribution expenses or by developing new products that are cheaper to
produce. Customer satisfaction can be improved by offering a quality product that is easy
to use and fulfills customer needs.

1.2 Scope of the system

The scope of ecommerce is expanding day by day due to the heavy number of internet
users all over the world. People are spending more time in doing online shopping for
various products available on the ecommerce platforms. According to Demand Sage, 2.14
billion people are shopping through e-commerce as of 2022. People spend more time
online shopping for various products available on e-commerce platforms. Amazon offers
items in almost every category to all the users. Additionally, it also provides the best
promotion and discounts whenever seasonal sales come. The impact of e commerce is
really good in all the developing countries.
India has a huge population and with increase in the internet users, the e-
business expansion becomes easy. The scope of ecommerce in India is really good for a
long time online business with trending ecommerce marketplaces. Many Sellers are joining
the marketplaces like Amazon and Flipkart in order to get more customers for their
business. The traffic on these websites is in millions and Indian sellers are seeing this as an
opportunity to generate more revenue.

Page | 1
SYSTEM REQUIREMENT ANALYSIS

3.1 System Functionalities

Software Requirement Specification (SRS) is the starting point of the software developing
activity, as system cannot be easily comprehended. Hence the needs for requirement phase
arise. The software project is initiated by the client needs. The SRS is the means of translating
the ideas of the clients (the input) into a formal document (the output of the requirement
phase).

The SRS phase consists of two basic activities:

1. Problem requirement analysis

2. Requirement specification

Problem Requirement Analysis: The process is order and more nebulous of the two, deals
with understanding the problem, the goal is to fulfil the constraints posed by the client.

Requirement Specification: Here the focus is on specifying what has been found in the
process of analysis such as representation, specification languages and tools and also checking
the specification are addressed during the activity. The requirement phase terminates with the
production of the validate SRS document, producing the SRS document is the basic goal of
this phase.

Role of Software Requirement Specification (SRS):

The purpose of the software requirement specification is to reduce the Communication gap
between the clients and the developers. Software requirement Specification is the medium
through which the client and users’ needs are accurately specified. If forms the basis of
software development. Efficient SRS should specify all the parties and operations involved in
the system.

3.2 Functional Requirements

The problem under study is divided into several modules/functions discussed below to
understand the approach to solution in the broader way.

Page | 2
3.2.1 Module Description

CUSTOMER

 The client will register and log in.


 The products are viewable and filterable by customers.
 Customers can add items to their shopping carts.
 Customers can book their products.

ADMIN

 Give username, email, password, and your admin account will be created.

 After login, admin can manage all the users, Items, orders on dashboard.

3.3 Non - Functional Requirements

Reality: It is very user - friendly software new users can easily know about the software.
Project can be easily upgraded as per the requirements.

Code - reliability: In this system, the reliability of the code is easy and it is understandable to
the end user.

Availability: This system which handles the data is relatively less busy. This increases the
probability of the system being available continuously at any given time of interval.

Page | 3
3.4 HARDWARE AND SOFTWARE REQUIREMENTS

3.4.1. HARDWARE SPECIFICATION

Processor Intel core i3 CPU

RAM 2GB or more

Hard Disk 320 GB or more

Operating System Windows 8 and higher version

3.4.2 SOFTWARE SPECIFICATION

Front end HTML, CSS, JAVASCRIPT.

Back-end PYTHON-DJANGO

Data Base SQL Lite

3.4.2.1 Operating System

Operating system (OS) is a software, consisting of programs and data, that runs on
computers and manages computer hardware resources and provides services for efficient of
various application software.

For hardware function such as input and output memory allocation, the operating system act
as an intermediary between application programs and the computer hardware, although the
application code is usually executed directly by the hardware and will frequently call the OS
or be interrupted by it. Operating system on all most any device that a computer from
cellular phones and video game console two supercomputer and web servers.

WINDOW 10 makes its user experience and functionality more consistent between different
classes of device, and addresses shortcomings in the user interface that were introduced in

Page | 4
. windows 8. On windows 10, Microsoft store serves a unified storefront for apps, video
content and e-books. It also allows web apps and desktop software to be packaged for
distribution on Microsoft store. One of its notable features is its support for universal apps.
There are some of the new features in windows 10 as mentioned below

CORTANA

It is a voice-activated personal associate. We can use it to set reminders, get weather


forecasts, send email, find files and search the internet and so on.

USER INTERFACE AND DESKTOP

A new iteration of the start menu is used on the windows 10 desktop, with a list of places
and other options on the left side, and tiles representing application on the right. The menu
can be resized and expanded into full screen display.

SYSTEM SECURITY

Windows hello supports authentication with PIN. By default, windows require a PIN to
consist of four digits, but can be configured to permit more complex pins.

COMAND LINE

Win32 console windows can now be resized without any restrictions, can be made to
cover the full screen and can use standard keyboard shortcuts. Other features such as word
wrap and transparency were also added.

COMMAND PROMPT

This is the new features of command prompt is now getting keyboard shortcut, that is
copy/paste on your command prompt. Specially, you can now use Ctrl + C and Ctrl + v in
the command prompt. The previous version has not this feature.

UNIVERSAL APPS

It is a windows experience that is made upon the universal windows platform. A package
of apps with photos, videos, music, maps, people and messaging and mail. It includes a lot
of backend enhancements.

Page | 5
CONTACT SUPPORT
Microsoft has added a new feature in windows 10 is safety for users who fail to find any
they need. User can contact phone or chat Microsoft tech support team using contact support
app.

FONTS

Microsoft 10 adds three new default typefaces to windows 8, but removes dozens of other.
The removed typefaces are available in supplemental packs and may be added manually
over a non-metered internet connection.

3.4.2.2 Language/Package

FRONTEND:

HTML:
HTML stands for Hypertext 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.

STRUCTURE OF HTML:

HTML elements perform a defined task. HTML uses two types of elements

Empty Tags

Container Tags

These tags differ because of what they represent. Empty tags represent formatting constricts
such as line breaks and horizontal rules. Container tags define a section of text, formats and
dot all of the selected text. A container tag has both a beginning and an ending.

Page | 6
METHOD ATTRIBUTE:

The other required attribute for the tag sets the methods by which the browser form’s data to
the server for processing. There are two ways: the POST method and GET method. With
POST method, the browser sends the data in two steps: the browser first contacts the form-
processing server specified in the action attributes, and once contact is made, sends the data.

CSS:

CSS stands for Cascading Style Sheets.CSS is used to define styles for your web pages,
including the design, layout and variations in display for different devices and screen sizes.
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 CSS information can be provided from various sources.
These sources can be the web browser, the user, and the author. The information from the
author can be further classified into inline, media type, importance, selector specificity, rule
order, inheritance, and property definition. CSS style information can be in a separate
document, or it can be embedded into an HTML document. Multiple style sheets can be
imported. Different styles can be applied depending on the output device being used; for
example, the screen version can be quite different from the printed version, so that authors
can tailor the presentation appropriately for each medium.

JAVA SCRIPT:

JavaScript (often shortened to JS) is a lightweight, interpreted, object-oriented


language with first-class functions, and is best known as the scripting language for Web
pages, but it is used in many non-browser environments as well. JavaScript is a high-level,
often just-in-time compiled language that conforms to the ECMAScript standard. It
has dynamic typing, prototype-based object-orientation, and first-class functions. It is multi-
paradigm, supporting event-driven, functional, and imperative programming styles. It
has application programming interfaces (APIs) for working with text, dates, regular
expressions, standard data structures, and the Document Object Model.

Page | 7
BACKEND:

PYTHON:

Python is an interpreted, object-oriented, high-level programming language with dynamic


semantics. Its high-level built-in data structures, combined with dynamic typing and
dynamic binding, make it attractive for Rapid Application Development, as well as for use
as a scripting or glue language to connect existing components together. Python's simple,
easy to learn syntax emphasizes readability and therefore reduces the cost of program
maintenance. Python supports modules and packages, which encourages program
modularity and code reuse. The Python interpreter and the extensive standard library are
available in source or binary form without charge for all major platforms and can be freely
distributed.
Often, programmers fall in love with Python because of the increased productivity it
provides. Since there is no compilation step, the edit-test-debug cycle is incredibly fast.
Debugging Python programs is easy: a bug or bad input will never cause a segmentation
fault. Instead, when the interpreter discovers an error, it raises an exception. When the
program does not catch the exception, the interpreter prints a stack trace. A source level
debugger allows inspection of local and global variables, evaluation of arbitrary
expressions, setting breakpoints, stepping through the code a line at a time, and so on. The
debugger is written in Python itself, testifying to Python's introspective power. On the other
hand, often the quickest way to debug a program is to add a few print statements to the
source: the fast edit-test-debug cycle makes this simple approach highly effective.

Python Features and Advantages

 Easy to Code. Python is a very high-level programming language, yet it is effortless to


learn.

 Easy to Read. Python code looks like simple English words.

 Free and Open-Source.

 Robust Standard Library.

 Interpreted.

 Portable.

Page | 8
DJANGO:

Django is a free and open-source, Python-based web framework that follows the model–
template–views architectural pattern. It is maintained by the Django Software Foundation, an
independent organization established in the US as a 501 non-profit. Django is a high-level
Python web framework that enables rapid development of secure and maintainable websites.
Built by experienced developers, Django takes care of much of the hassle of web development,
so you can focus on writing your app without needing to reinvent the wheel. It is free and
open source, has a thriving and active community, great documentation, and many options for
free and paid-for support.

Django Features and Advantages


• Django is a back-end server-side web framework.
• Django is free, open source and written in Python.
• Django makes it easier to build web pages using Python.

Page | 9
SYSTEM DESIGN

The most creative and challenging face of the system development is System Design. It
provides the understanding and procedural details necessary for implementing the system
recommending in the feasibility study. Design goes through the logical and physical stages
of development. The main purpose of the design is to plan a solution for the problems
specified in the requirement document.

4.1 Input Design


In the input design, user-oriented inputs are converted into a computer based format. It
also includes determining the records media, method of inputs, speed of capture and entry on
to the screen data through a keyboard.

The major approach to input design is the menu and the prompt design. In each alternative,
the user options are predefined. Input data are collected and organized into a group of similar
data, identified input media are selected for processing.

In this software, importance is given to develop Graphical User Interface (GUI), which is an
important factor in developing efficient and user- defined software. For Inputting user data
attractive forms are designed. User can also select desired option from the menu/buttons,
which provides all possible facilities.

Further importance is given in input format, it is designed in such a way that accidental errors
are avoided. The user has to input only just minimum data required, which also helps in
avoiding the errors that the users may create. Accurate designing of the input format is very
important in developing efficient software. The goal of the input design is to make entry easy,
logical, and free from errors.

Page | 10
4.2 Code Design
First phase of implementation is coding. Coding can be done in two ways, one by automatic
program code and other by programmer’s manually written code. A code generator is a suite
of programs that matches the input to an appropriate code template and from these produces
modules of code. It is made simple in such a way that another programmer can easily
understand and work on that in future.

The crucial phase in the system development life cycle is the successful implementation of
the new system design. The process of converting as new or revised system into an operational
one is known as system implementation. This includes all those activities that take place to
convert from an old system to a new system. The system can be implemented only after a
through testing is done and if it is found to work according to specifications. New successful
system involves careful planning, investigation of the current system and its constraint on
implementation, design of methods to achieve the changeover.

Page | 11
4.2.1 Tables

Users

Field name Data type CONSTRAINTS


User-id Int Primary Key
Username CharField(30) Not Null
First-name CharField(30) Not Null
Last-name CharField(30) Not Null
Email-ID EmailField Not Null
Password1 CharField(30) Not Null
Password2 CharField(30) Not Null

User Profile

Field name Data type CONSTRAINTS


User OneToOneField(User) Not Null
Strip_customer_id CharField(25) Not Null

Page | 12
Items

Field name Data type CONSTRAINTS


Title CharField(25) Not Null
Price FloatField Not Null
Discount_price CharField(25) Not Null
Category CharField(25) Not Null
Lable CharField(25) Not Null
Slug slugfield Not Null
Description TextField Not Null
Image ImageField Not Null

OrderItems

Field name Data type CONSTRAINTS


User Foreignkey(User) Not Null
Ordered BooleanField Not Null
Item Foreignkey(Item) Not Null
Quantity IntegerField Default=1

Order

Field name Data type CONSTRAINTS


User Foreignkey Not Null
Ref_code CharField Not Null
Items ManyToManyField(OrderItem) Not Null
Start_date DateTimeField Not Null
Ordered_date DateTimeField Not Null
Shipping_address Foreignkey(Address) Not Null
Biling_address Foreignkey(Address) Not Null
Payments Foreignkey(Payments) Not Null
Being_delivered BooleanField Not Null
Received BooleanField Not Null
Refund_requested BooleanField Not Null
Refund_granted BooleanField Not Null

Page | 13
Address

Field name Data type CONSTRAINTS


User Foreignkey Not Null
Street_address CharField Not Null
Country CountryField Not Null
Zip CharField Not Null
Address_type CharField Not Null
Default BooleanField Not Null

Payments

Field name Data type CONSTRAINTS


User Foreignkey Not Null
Stripe_charge_id CharField Not Null
Amount FloatField Not Null
Timestamp DateTimeField Not Null

Refund

Field name Data type CONSTRAINTS


Order Foreignkey Not Null
Reason TextField Not Null
Accepted BooleanField Not Null
Email EmailField Not Null

Page | 14
SYTEM IMPLEMENTATION AND TESTING

5.1 System Implementation


Implementation is the stage, which is crucial in the life cycle of the new system designed.
Planning, training and system testing are the main operational one is called implementation.

Implementation includes all those activities involving the conversion of an old system into a
new concept or a revision of an old one. A proper implementation is required for reliable
system. Chances are there that if implementation is not proper the whole system may
become a failure.

Conversion an important aspect of implementation is the process of changes from the


old system to the new one. A review is conducted once implementations are over.
Information required for maintenance is collected during this phase. The basic review
method is data collection methods of interview, observation, sampling and record inspection.

5.2 System Testing


Testing is a process, which reveals errors in the program. It is the major quality measure
employed during software development. During software development, during testing the
program is executed with a set of test cases and the output of the program for the cases is
evaluated to determine if the program is performing as it is expected to perform.
We have 3 types of testing:
1. Unit testing
2. Integration testing
3. System testing

Unit Testing
Unit testing is a process verification effort on the smallest unit of software i.e the module.
Using the detailed design and the process specification testing is done to uncover errors
within the boundary of the module. All modules must be successful in the unit test before
the start of the integration testing begins. In this project each service can be thought of a
module.

Page | 15
Giving different sets of inputs has tested each module. When developing the module as well
as finishing the development so that each module works without any error. The inputs are
validated when accepting from the user.

In this application developer tests the programs up as system. Software units in a system are
the modules and routines that are assembled and ignored to form a specific function. Unit
testing is first done on modules, independent of one another to locate errors. This enables to
detect errors. Through this error resulting from interaction between modules initially
avoided.

Integration Testing
After the unit testing, we have to perform integration testing. The goal here is to see if
modules can be integrated properly, the emphasis being on testing the design and hence the
emphasis on testing module interactions.

In this project integrating all the modules forms the main system. When integrating all the
modules we have checked whether the integration effects working of any of the services by
giving different combination of inputs with which the two services are perfectly before
integration.

System Testing
Here the entire project system is tested. The reference document for this process is the
requirements document, and the goal as to see if software meets its requirements.

Page | 16
CONCLUSION

E-commerce still represents one of the business methods that take advantage if done the right
way, even if the stock market and commodities fell, but E-Commerce is still able to survive
and receive high transaction. E-commerce has a tremendous opportunity during or business in
Malaysia. In addition, it is also to introduce new techniques and styles in a transaction. Using
the extensive E-Commerce in the Internet world is much better to bring the goodness of the
individual or the state.

E-Commerce has undeniably become an important part of our society. The successful
companies of the future will be those that take E-Commerce seriously, dedicating sufficient
resources to its development. E-Commerce is not an IT issue but a whole business
undertaking. Companies that use it as a reason for completely re-designing their business
processes are likely to reap the greatest benefits. Moreover, E-Commerce is a helpful
technology that gives the consumer access to business and companies all over the world.

Page | 17
Future Enhancements

E-commerce was not popular among many of us until very recently. Most of us were
apprehensive about the concept. We could not really put our trust in online shopping websites
to provide good quality products and services. Over time, as it gained popularity within the
younger generation, e-commerce started blooming.

However, when the coronavirus pandemic hit the world, we were all confined to our houses, it
became impossible for us to physically go out and buy the things that we wanted. I think this
is when the rest of the world really started trying out e-commerce services. They realized that
reputable online shopping websites provided numerous options and remarkable services.

The scope of e-commerce in India bloomed during the pandemic. This success can also be the
result of increased internet use among our generation. The soaring popularity of e-commerce
websites can be rightly called a ‘positive impact of covid-19 on e-commerce. Some of the
most successful e-commerce business 2022 are Amazon, Flipkart, etc. One of the biggest
benefits of e-commerce to business is that an e-commerce website makes it easy to sell
products to a larger audience, no matter where their physical location is. India has shown
rapid growth in the eCommerce sector. It is now brimming with job opportunities and service
providers.

Page | 18

You might also like