First Synopsis Full Stack (Sample)

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 65

First Synopsis

On
Online Shopping

<Your Project Title>

<Paste Picture related to Project>


Submitted By: Submitted To:

<Your Name> <Project Incharge Name>

<Roll No.> <Department>

Department of <your department in college>


<College Name>

1
TABLE OF CONTENTS

Sr. No. Content Page No.


1. Organization Profile
2. Introduction
3. Software Model
4. Existing System
5. Proposed System
6. Hardware & Software Requirements
7. Frontend
8. Backend
9. Feasibility Study
10. DFD
11. ERD
12. Table Schema
13. Screenshots
14. Testing
15. Conclusion
16. Bibliography

2
ORGANIZATION PROFILE

The Institute where we are pursuing our six months Industrial Training is VMM (Veenus
Mind Media), at Amritsar.

DETAILS OF VMM
VMM Education’s journey started in January 2005 with a vision of bringing computer
education of global standard in the holy city of Amritsar. To turn this dream into reality we
needed to create a talent pool of bright young minds who would power the engines of growth
of the global economy, today seven years later VMM Education or VMM, as it is popularly
known as, is the largest and the most trusted computer center of the region, with annual turn
out of more than 1000 students each year. The reason for the success of VMM is simply the
“Hard work” that our team has put in these seven years.
In this past 7 years, VMM Education has provided world class training in global technologies
such as Java, .Net, Oracle and Linux, while keeping our syllabus up to date with the current
industry standard. We have managed to successfully train more than 7000 engineers who are
currently working in Global Multinationals like TCS, Tech Mahindra, Infosys, and CSC etc.
VMM is today the favorite choice of students of various engineering college for pursuing
their six months or six weeks industrial training. A unique “industry-endorsed curriculum,”
crafted by professionals of VMM enhances the job-readiness and employability of learners
and equips them for the IT Industry.
To provide IT education which can match with the global IT standards, VMM also undertake
industrial projects under the banner of Veenus Software Solutions (VSS as the Veenus
Software solution is popularly known as undertake projects from UK & USA example
im4schools.co.uk) this also allows our students to work on the live projects and make
projects for the various industries. Some of our products include Point of sale software for
Super Markets with barcode reader support, Finger print attendance Management System
that can work for school’s colleges and other institutes, Remote Lan Controller which can be
used to view remote desktops on LAN or WAN.VMM has the world class computer labs that
are equipped with the latest Hardware and software so that the practicals of the students must
always remain for that and we continuously upgrade our hardware and software every 6
months.

3
Attendance of students is one of the major features of VMM, students are required to record
their day-to-day attendance using Biometric Finger print recognition device this allows us to
provide accurate attendance of students to their parents and college during their training time.

Some Key learning solutions for Individuals include the following:

 Foundation course
This course includes two languages C and C++ that allows us to build a strong foundation of
programming for the beginner and First year & Second year engineering graduates

 Six Weeks Industrial training


This training program which is of 42 working days allows the 3 rd year engineering graduates
to get hands on experience on either of the following technologies VB.Net, C#.Net, SQL &
Core java. This training is pretty intensive as the students are required to spend 4-8 hours at
the institute learning any one the above languages along with developing a project by
working in team, this allows students to learn how to work as team member and also gets
hands on training on the latest technology.

 Six Months Industrial Training


Doing your six months industrial training at VMM is a very special experience for any
engineering graduate as it allows the students to nurture his / her knowledge by working on
Technologies like ASP.Net, Silverlight, J2EE, Struts, Ajax, Android etc. The candidate is
required to spend almost whole day at institute doing their Lab practical or attending their
tutorial lecture and developing a project which they can submit in their college as a part of
dissertation. This program is for the final year B.Tech students who can learn latest
technologies like VB.Net, C#.Net, ASP.Net or Java and make their project.

 Individual Skill enhancement programs


Apart from above training program VMM provides a bouquet of courses in windows
application development using VB.Net/C#.Net/Java, Web Development using ASP.Net or
J2EE, Mobile Software development in Android.

Veenus Mind Media or VMM is a Software Solutions Provider. The company specializes in
providing industry focused solutions and customized development. The development work

4
ranges from management-oriented solutions utilizing the latest of databases, design and
programming tools to web development designing and Network resources.

The Group

Veenus Mind Media is a software arm of Hotel Veenus International (Amritsar), it is one of
the fastest growing software solution providers extending its arms in diversified activities
such as School & College Network AMC’s, Wi-Fi Internet Management solutions in
school/colleges/shopping malls & Hotels, customized software development, Web-Site
Development & Web Marketing (SEO) The total Turnover of entire group is more than 5
million (INR)

Sister concerns:

a) Hotel Veenus International


b) S.K Tour & Travels
c) Harmind Shawls
d) Jaws Arts

VMM commenced its operations in the year 2004 as 100% software consultants. VMM was
started from one home computer and today VMM has got infrastructure of more than one million
(INR). VMM operates it two wings one is of the software consultancy services and other is
VMM Education i.e., the Education wing which deals with providing the world class computer
education to its students.

5
INTRODUCTION

The main objective of the Project on Online Grocery Store is to manage the details of Grocery,
Customer, Order, Product. It manages all the information about Grocery, Address. The project is
totally built at administrative end and thus only the administrator is guaranteed the access. The
purpose of the project is to built an application program to reduce the manual work for managing
the Grocery, Customer, Address, Order. It tracks all the details about the Order, Product.

Functionalities provided by Online Grocery System:

 Provides the searching facilities based on various factors. Such as Grocery, Order,
Product.
 Online Grocery System also manage the Address details of Customers.
 Manage the all information of customer.
 Shows the information and description of Products.
 To increase efficiency of managing the Grocery, Customer.
 Editing, adding and updating of Records is improved which results in proper resource
management of Grocery Data.
 Integration of all records of Product.

6
FEATURES OF THE PROJECT

ADMIN:

1. Admin Login
2. Manage Categories (Add, View, Edit, Delete):
Admin Can Manage the Category by adding new Category, edit category,
view category and by Deleting it.
3. Manage Sub-Categories (Add, View, Edit, Delete):
Admin Can Manage the Sub-Category by adding new sub-Category, Edit
Sub-category, view Sub-category and by Deleting it.
4. Manage Products (Add, View, Edit, Delete)
5. Manage Product gallery
6. View Order Details (Confirmation Email)
i. Order Received
ii. Order Packed
iii. Order Shipped
7. Change/Recover Password

7
USER:

1. Signup
2. Login
3. Search (Product, Category)
4. View All Product
5. Manage Cart
6. Buy Product using By Online Payment or COD
7. View Your Orders
8. Change / Recover Password

8
SDLC
SDLC is the acronym of Software Development Life Cycle. SDLC is a framework defining
tasks performed at each step in the software development process.
SDLC is a process followed for a software project, within a software organization. It consists of
a detailed plan describing how to develop, maintain, replace and alter or enhance specific
software. The life cycle defines a methodology for improving the quality of software and the
overall development process.

The following figure is a graphical representation of the various stages of a typical SDLC.

A typical Software Development Life Cycle consists of the following stages –

9
 Planning and Requirement Analysis - Requirement analysis is the most important and
fundamental stage in SDLC. It is performed by the senior members of the team with
inputs from the customer, the sales department, market surveys and domain experts in
the industry
 Defining Requirements - Once the requirement analysis is done the next step is to
clearly define and document the product requirements and get them approved from the
customer or the market analysts.
 Designing the Product Architecture - SRS is the reference for product architects to
come out with the best architecture for the product to be developed.

Product Architecture

Full stack web developer uses a combination of HTML, CSS, and JavaScript to build
everything a user sees and interacts with on a website. At the back-end, they develop the
application, server, and database that make up the foundational structure of a website. Their
skills are often centred around solution stacks like Apache, MySQL, Express.js, ReactJS,
Node.js which contain all the technologies required to set up a complete website.

Full stack is based on the 3Tier Web Architecture. This is the unique system of developing
web database applications which work around the 3 tier model, comprising of the database
tier at the bottom, the application tier in the middle and the client tier at the top. This
comprehensive 3 tier architecture module is the framework for most Web Applications on
the Internet. This system helps to separate the Business Logic from the Application, Data
Storage, and database.

10
Advantages:

1. Improved Data Integrity


2. High Degree of Flexibility in deployment platform and configurations
3. Improved security
4. High Performance and persistent objects
5. Architecture is scalable, adding users and resources in future would be easy
6. Maintenance and modifications can be done effectively
7. Code and data reusability can be achieved

 Building or Developing the Product - In this stage of SDLC the actual development
starts and the product is built. The programming code is generated as per DDS during
this stage. If the design is performed in a detailed and organized manner, code generation
can be accomplished without much hassle.
 Testing the Product - This stage is usually a subset of all the stages as in the modern
SDLC models, the testing activities are mostly involved in all the stages of SDLC.
 Deployment in the Market and Maintenance - Once the product is tested and ready to
be deployed it is released formally in the appropriate market.

SDLC Models
There are various software development life cycle models defined and designed which are
followed during the software development process. These models are also referred as Software
Development Process Models".

Iterative Model

An iterative lifecycle model does not attempt to start with a full specification of requirements.
Instead, development begins by specifying and implementing just part of the software, which can
then be reviewed in order to identify further requirements. This process is then repeated,
producing a new version of the software for each cycle of the model. Consider an iterative
lifecycle model which consists of repeating the following four phases in sequence:

11
Fig. Iterative Model

1. A Requirements phase, in which the requirements for the software are gathered and
analysed. Iteration should eventually result in a requirements phase that produces a complete
and final specification of requirements.

2. A Design phase, in which a software solution to meet the requirements is designed. This may
be a new design, or an extension of an earlier design.

3. An Implementation and Test phase, when the software is coded, integrated and tested.

4. A Review phase, in which the software is evaluated, the current requirements are reviewed,
and changes and additions to requirements proposed.

5. For each cycle of the model, a decision has to be made as to whether the software produced
by the cycle will be discarded, or kept as a starting point for the next cycle (sometimes
referred to as incremental prototyping). Eventually a point will be reached where the
requirements are complete and the software can be delivered, or it becomes impossible to
enhance the software as required, and a fresh start has to be made.

6. The iterative lifecycle model can be likened to producing software by successive


approximation. Drawing an analogy with mathematical methods that use successive

12
approximation to arrive at a final solution, the benefit of such methods depends on how
rapidly they converge on a solution.

7. The key to successful use of an iterative software development lifecycle is rigorous


validation of requirements, and verification (including testing) of each version of the
software against those requirements within each cycle of the model. The first three phases of
the example iterative model is in fact an abbreviated form of a sequential V or waterfall
lifecycle model. Each cycle of the model produces software that requires testing at the unit
level, for software integration, for system integration and for acceptance. As the software
evolves through successive cycles, tests have to be repeated and extended to verify each
version of the software.

13
EXISTING SYSTEM

The old manual system was suffering from a series of drawbacks. Since whole of the system was
to be maintained with hands the process of keeping, maintain and retrieving the information was
very tedious and lengthy. The records were never used to be in systematic order. If any
information was to be found it was required to go through the different registers, documents
there were would never exists anything like report generation. There would be always be
unnecessary consumption of time while entering records and retrieving records. One more
problem was that it was very difficult to find errors while entering the records. Once the records
were entered it was very difficult to update these records.

PROPESED SYSTEM

Proposed system has the following requirements:

 System needs store information about new entry of Grocery.


 System needs to keep the record of Order.
 System needs to updated and delete the record.
 System also needs a search area.
 It also needs a security system to prevent data.

14
BENEFITS

 Shop From Home or On the Go - With online grocery shopping, you have the
flexibility to order at any time of the day. Whether it’s the early morning or midnight,
you can browse the aisles when it’s convenient for you.

 Save Money with Price Comparison - When you buy groceries online at a website or
using an app, you can easily compare different brands’ prices.

 Save Time and Be More Productive - According to Statista, the average person goes to
the grocery store 1.6 times a week and spends 43 minutes shopping at the store. There’s
also the additional time it takes to drive to the store and back home. 

You can save this time with online grocery shopping and getting home delivery.

 Keep Track of Your Shopping Cart - When you shop for groceries online, you see how
much is in your cart at any given time. It gives you control of your budget, and you can
easily remove items if you’re overspending.

HARDWARE & SOFTWARE REQUIREMENTS


15
Hardware Requirements Server
i. Intel i3/i5/i7 processor
ii. 4 GB Ram
iii. 80 GB+ Hard disk space
iv. Optical drive
v. Keyboard and mouse
vi. Internet Connection

Software Requirements Server


i. Server based operating system
ii. Apache Server
iii. Node JS 16.13.2
iv. AJAX Support

Hardware Requirements Client


i. Intel i3/i5/i7 processor
ii. 4 GB Ram
iii. Keyboard mouse
iv. Internet Connection

Software Requirements Client


i. Any operating system
ii. Web Browser

TECHNOLOGIES USED IN PROJECT

16
FRONTEND

i. HTML
ii. CSS
iii. Bootstrap
iv. JavaScript
v. React JS

BACK END

i. Node JS
ii. MySQL

FRONTEND

17
I. HTML

The Hypertext Markup Language, or HTML is the standard markup language for documents
designed to be displayed in a web browser. It can be assisted by technologies such as
Cascading Style Sheets and scripting languages such as JavaScript.

• HTML stands for Hyper Text Markup Language

• HTML describes the structure of a Webpage

• HTML consists of a series of elements

• HTML elements tell the browser how to display the content

• HTML elements are represented by tags

• HTML tags label pieces of content such as "heading", "paragraph", "table", and soon

• Browsers do not display the HTML tags, but use them to render the content of the
page

HTML Tags:

• HTML tags are element names surrounded by angle brackets.

• HTML tags normally come in pairs like <p> and</p>

18
• The first tag in a pair is the start tag, the second tag is the end tag.

• The end tag is written like the start tag, but with a forward slash inserted before the
tag name.

II. CSS

Stands for "Cascading Style Sheet." Cascading style sheets are used to format the layout of
Web pages. They can be used to define text styles, table sizes, and other aspects of Web
pages that previously could only be defined in a page's HTML.CSS helps Web developers
create a uniform look across several pages of a Web site. Instead of defining the style of each
table and each block of text within a page's HTML, commonly used styles need to be defined
only once in a CSS document. Once the style is defined in cascading style sheet, it can be
used by any page that references the CSS file. Plus, CSS makes it easy to change styles
across several pages at once. For example, a Web developer may want to increase the default
text size from 10pt to 12pt for fifty pages of a Web site. If the pages all reference the same
style sheet, the text size only needs to be changed on the style sheet and all the pages will
show the larger text.
While CSS is great for creating text styles, it is helpful for formatting other aspects of Web
page layout as well. For example, CSS can be used to define the cell padding of table cells,

19
the style, thickness, and color of a table's border, and the padding around images or other
objects. CSS gives Web developers more exact control over how Web pages will look than
HTML does. This is why most Web pages today incorporate cascading style sheets.

III. BOOTSTRAP

Bootstrap is a free and open-source frontend development framework for the creation of
websites and web apps. The Bootstrap framework is built on HTML, CSS, and JavaScript
(JS) to facilitate the development of responsive, mobile-first sites and apps. Responsive
design makes it possible for a web page or app to detect the visitor’s screen size and
orientation and automatically adapt the display accordingly; the mobile first approach
assumes that smartphones, tablets and task-specific mobile apps are employees 'primary tools
for getting work done and addresses the requirements of those technologies in design.
Bootstrap includes user interface components, layouts and JS tools a long with the frame
work for implementation. The software is available precompiled or as source code.
Mark Otto and Jacob Thornton developed Bootstrap at Twitter as a means of improving the
consistency of tools used on the site and reducing maintenance. The software was formerly
known as Twitter Blueprint and is sometimes referred to as Twitter Bootstrap.
In computers, the word bootstrap means to boot: to load a program into a computer using a
much smaller initial program to load in the desired program (which is usually an operating
system). In the physical world, a bootstrap is a small strap or loop at the back of a leather
boot that enables you to pull the entire boot on and in general usage, bootstrap in the
leveraging of a small initial effort into something larger and more significant. There is also a
common expression, "pulling yourself up by your own bootstraps," meaning to leverage
yourself to success from a small beginning.
20
IV. JAVASCRIPT

JavaScript is a dynamic computer programming language. It is lightweight and most


commonly used as a part of web pages, whose implementations allow client-side script to
interact with the user and make dynamic pages. It is an interpreted programming language
with object-oriented capabilities. JavaScript was first known as Live Script, but Netscape
changed its name to JavaScript, possibly because of the excitement being generated by Java.
JavaScript made its first appearance in Netscape 2.0 in 1995 with the name Live Script. The
general-purpose core of the language has been embedded in Netscape, Internet Explorer, and
other web browsers. Client-Side JavaScript.

Client-side JavaScript is the most common form of the language. The script should be
included in or referenced by an HTML document for the code to be interpreted by the
browser. It means that a web page need not be a static HTML, but can include programs that
interact with the user, control the browser, and dynamically create HTML content. The
JavaScript client-side mechanism provides many advantages over traditional CGI server-side
scripts. For example, you might use JavaScript to check if the user has entered valid-mail
address in a form field. The JavaScript code is executed when the user submits the form, and
only if all the entries are valid, they would be submitted to the Webserver.

21
Advantages of JavaScript:

The merits of using JavaScript are −

• Less server interaction − You can validate user input before sending the page off to
the server. This saves server traffic, which means less load on your server.
• Immediate feedback to the visitors − They don't have to wait for a page reload to
see if they have forgotten to enter something.
• Increased interactivity − You can create interfaces that react when the user hovers
over them with a mouse or activates them via the keyboard.
• Richer interfaces − You can use JavaScript to include such items as drag-and-drop
components and sliders to give a Rich Interface to your site visitors.

22
V. REACT JS

React (also known as React.js or ReactJS) is a free and open-source front-end JavaScript


library for building user interfaces based on UI components. It is maintained by Meta (formerly
Facebook) and a community of individual developers and companies. React can be used as a
base in the development of single-page or mobile applications. However, React is only
concerned with state management and rendering that state to the DOM, so creating React
applications usually requires the use of additional libraries for routing, as well as certain client-
side functionality.

Declarative:

React adheres to the declarative programming paradigm. Developers design views for each state
of an application, and react updates and renders components when data changes.

Component:
React code is made of entities called components. Components can be rendered to a particular
element in the DOM using the React DOM library. When rendering a component, one can pass
in values that are known as "props".
The two primary ways of declaring components in React is via function components and class-
based components.
a) Function Component
Function components are declared with a function that then returns some JSX.

b) Class-based Component
Class-based components are declared using ES6 classes.

JSX:

23
JSX, or JavaScript XML, is an extension to the JavaScript language syntax. Similar in
appearance to HTML, JSX provides a way to structure component rendering using syntax
familiar to many developers. React components are typically written using JSX, although they
do not have to be (components may also be written in pure JavaScript).

History of React:

React was created by Jordan Walke, a software engineer at Facebook, who released an early
prototype of React called "FaxJS". He was influenced by XHP, an HTML component library
for PHP. It was first deployed on Facebook's News Feed in 2011 and later on Instagram in
2012. It was open-sourced at JSConf US in May 2013.

On September 26, 2017, React 16.0 was released to the public.

On February 16, 2019, React 16.8 was released to the public. The release introduced React
Hooks.

On August 10, 2020, the React team announced the first release candidate for React v17.0,
notable as the first major release without major changes to the React developer-facing API.

24
BACK END

I. NODE JS

Node.js is an open-source, cross-platform, JavaScript runtime environment that executes


JavaScript code outside a web browser. Node.js lets developers use JavaScript to write
command line tools and for server-side scripting— running scripts server-side to produce
dynamic web page content before the page is sent to the user's web browser. Consequently,
Node.js represents a "JavaScript everywhere"
Paradigm, unifying web-application development around a single programming language,
rather than different languages for server- and client-side scripts.

Though is .js the standard file name extension for JavaScript code, the name "Node.js" doesn't
refer to a particular file in this context and is merely the name of the product. Node.js has an
event-driven architecture capable of asynchronous I/O. These design choices aim to optimize
throughput and scalability in web applications with many input/output operations, as well as
for real-time Web applications (e.g., real-time communication programs and browser games).
The Node.js distributed development project was previously governed by the Node.js
Foundation, and has now merged with the JS Foundation to form the Open JS Foundation,
which is facilitated by the Linux Foundation's

II. MySQL

25
MySQL is an open-source relational database management system (RDBMS). Its name is a
combination of "My", the name of co-founder Michael Widenius's daughter, and "SQL", the
abbreviation for Structured Query Language.

The MySQL development project has made its source code available under the terms of the
GNU General Public License, as well as under a variety of proprietary agreements. MySQL
was owned and sponsored by a single for profit firm, the Swedish company MySQL AB,
now owned by Oracle Corporation.
MySQL is a central component of the LAMP open-source web application software stack
(and other "AMP" stacks). LAMP is an acronym for "Linux, Apache, MySQL,
Perl/PHP/Python". Applications that use the MySQL database include: TYPO3, MODx,
Joomla, WordPress, phpBB, MyBB, and Drupal. MySQL is also used in many high-profile,
large-scale websites, including Google (though not for searches), Facebook,
Twitter, Flickr, and YouTube.

History:
MySQL was created by a Swedish company, MySQL AB, founded by David Axmark, Allan
Larsson and Michael "Monty" Widenius. Original development of MySQL by Widenius and
Axmark began in 1994. The first version of MySQL appeared on 23 May 1995. It was
initially created for personal usage from MySQL based on the low-level language ISAM,
which the creators considered too slow and inflexible. They created a new SQL interface,
while keeping the same API as MySQL. By keeping the API consistent with the MySQL
system, many developers were able to use MySQL instead of the (proprietarily licensed)
MySQL antecedent.

26
Features:
MySQL is offered under two different editions: the open source MySQL Community Server
and the proprietary Enterprise Server. MySQL Enterprise Server is differentiated by a series
of proprietary extensions which install as server plugins, but otherwise shares the version
numbering system and is built from the same code base.
Major features as available in MySQL 5.6:

• A broad subset of ANSI SQL 99, as well as extensions

• Cross-platform support

• Stored procedures, using a procedural language that closely adheres to SQL/PSM[62]

• Triggers

• Cursors

• Updatable views

• Online DDL when using the InnoDB Storage Engine.

• Information schema

• Partitioned tables with pruning of partitions in optimizer

• Shared-nothing clustering through MySQL Cluster

• Multiple storage engines, allowing one to choose the one that is most effective for
each table in the application.

• Native storage engines InnoDB, MyISAM, Merge, Memory (heap), Federated,


Archive, CSV, Blackhole, NDB Cluster.

• Commit grouping, gathering multiple transactions from multiple connections together


to increase the number of commits per second.

Deployment:

27
MySQL can be built and installed manually from source code, but it is more commonly
installed from a binary package unless special customizations are required. On most Linux
distributions, the package management system can download and install MySQL with
minimal effort, though further configuration is often required to adjust security and
optimization settings.

Fig 8. MySQL

Though MySQL began as a low-end alternative to more powerful proprietary databases, it


has gradually evolved to support higher-scale needs as well. It is still most commonly used in
small to medium scale single-server deployments, either as a component in a LAMP-based
web application or as a standalone database server. Much of MySQL's appeal originates in its
relative simplicity and ease of use, which is enabled by an ecosystem of open source tools
such as phpMyAdmin. In the medium range, MySQL can be scaled by deploying it on more
powerful hardware, such as a multi-processor server with gigabytes of memory.
A typical high-end configuration can include a powerful master database which handles data
write operations and is replicated to multiple slaves that handle all read operations. The
master server continually pushes binlog events to connected slaves so in the event of failure a
slave can be promoted to become the new master, minimizing downtime. Further
improvements in performance can be achieved by caching the results from database queries
in memory using Memcached, or breaking down a database into smaller chunks called shards
which can be spread across a number of distributed server clusters.
28
FEASIBILITY STUDY

29
After doing the project Online Grocery Store, study and analysing all the existing or required
functionalities of the system, the next task is to do the feasibility study for the project.

A feasibility study is a preliminary study which investigates the information needs of prospective
users and determines the resource requirements, determining the cost effectiveness of various
alternatives in the designs of the information system, benefits and feasibility of proposed project.

The goal of the feasibility study is to evaluate alternative systems to propose the most feasible
and desirable systems for development.

A. Operational Feasibility
The operational feasibility is responsible for the operations of management, faculty
members, and students involved in a project. Our project is operationally feasible because
the modules we have considered such as Manual Downloading, Auto Downloading and
Manual Uploading provides a combined platform by using which the related tasks can be
handled in a easy manner. Though it doesn’t include the process of auto uploading but it
is operational to full extent.

B. Technical Feasibility
Technical feasibility can be demonstrated if reliable hardware and software capable of
meeting needs of proposed system can be developed or acquired by the business in
required time. Our project is technically feasible because the required hardware and
software needed for our project are made available to us by our lab technician.

C. Economic Feasibility
This is a very important aspect to be considered while developing a project. We decided
the technology based on minimum possible cost factor.
 All hardware and software cost has to be borne by the organization (pharmacy).
 Overall, we have estimated that the benefits the organization is going to receive
from the proposed system will surely overcome the initial costs and the later on
running cost for system.

30
DATA FLOW DIAGRAM

31
32
33
ER DIAGRAM

34
DATA SCHEMA

 Admin

 Category

 Sub-Category

 Products

35
 Users

 Bill

36
 Bill Details

37
SCREENSHOTS

Index/Home Page

38
About Us

39
Contact Us

40
Product Page

41
Shopping Cart

42
User Signup

43
User Login

44
Search Page

45
Admin Login

Admin Dashboard

46
Add Category

Manage Category

47
Delete Category Confirmation

Add Sub-Category

48
Manage Sub-Category

49
Add Product

50
Manage Products

51
Manage Orders

 New Orders

 Add Shipping Details

52
 Shipped Orders

 Add Customer Name

53
 Delivered Orders

 Single Order Details

54
 Cancelled Orders

Admin Change Password

55
Admin Logout Confirmation

User Signup

56
User Login

57
User Dashboard

User Orders (My Orders)


58
Cancel Order

User Change Password

59
Online Payment Gateway

60
Order Placed after Payment Complete

61
TESTING

62
Software Testing is an empirical investigation conducted to provide stakeholders with
information about the quality of the product or service under test, with respect to the context in
which it is intended to operate. Software Testing also provides an objective, independent view of
the software to allow the business to appreciate and understand the risks at implementation of the
software. Test techniques include, but are not limited to, the process of executing a program or
application with the intent of finding software bugs. It can also be stated as the process of
validating and verifying that a software program/application/product meets the business and
technical requirements that guided its design and development, so that it works as expected and
can be implemented with the same characteristics. Software Testing, depending on the testing
method employed, can be implemented at any time in the development process, however the
most test effort is employed after the requirements have been defined and coding process has
been completed.

 Unit Testing:
The primary goal of unit testing is to take the smallest piece of testable software in the
application, isolate it from the remainder of the code, and determine whether it behaves exactly
as you expect. Each unit is tested separately before integrating them into modules to test the
interfaces between modules. Unit testing has proven its value in that a large percentage of
defects are identified during its use. Unit testing is a software verification and validation method
where the programmer gains confidence that individual units of source code are fit for use. A
unit is the smallest testable part of an application. In procedural programming a unit may be an
individual program, function, procedure, etc., while in object-oriented programming, the smallest
unit is a class, which may belong to a base/super class, abstract class or derived/child class.
Ideally, each test case is independent from the others: substitutes like method stubs, mock
objects, fakes and test harnesses can be used to assist testing a module in isolation. Unit tests are
typically written and run by software developers to ensure that code meets its design and behaves
as intended. Its implementation can vary from being very manual (pencil and paper) to being
formalized as part of build automation.

 Integration Testing:

Integration testing, also known as integration and testing (I&T), is a software development
process which program units are combined and tested as groups in multiple ways. In this context,
a unit is defined as the smallest testable part of an application. Integration testing can expose
problems with the interfaces among program components before trouble occurs in real-world
program execution. Integration testing is a component of Extreme Programming (XP), a
pragmatic method of software development that takes a meticulous approach to building a
product by means of continual testing and revision.

63
There are two major ways of carrying out an integration test, called the bottom-up method and
the top-down method. Bottom-up integration testing begins with unit testing, followed by tests of
progressively higher-level combinations of units called modules or builds. In top-down
integration testing, the highest-level modules are tested first and progressively lower-level
modules are tested after that. In a comprehensive software development environment, bottom-up
testing is usually done first, followed by top-down testing.

 Validation Testing:
At the validation level, testing focuses on user visible actions and user recognizable output from
the system. Validations testing is said to be successful when software functions in a manner that
can be reasonably expected by the customer.

CONCLUSION

This is to conclude that the project that I undertook was worked upon with a sincere effort. Most
of the requirements have been fulfilled up to the mark and the requirements which have been
remaining, can be completed with a short extension.

We have successfully implemented the site on ‘Grocerino Online Grocery Store. With the help
of various links and tools, we have been able to provide a site which is live and running on the
web. We have been successful in our attempt to take care of the needs of both the customers as
well as the administrator.

BIBLIOGRAPHY

64
To bring the system to verge of completion the following books have been
referred:

NAME OF THE BOOK AUTHOR’S NAME

Head First HTML and CSS  Elisabeth Robson and Eric Freeman

The Road to React Robin Wieruch

Node.JS Web Development David Herron

Mastering Node.JS Sandro Pasquali

Some websites referred are:

i. https://www.w3schools.com

ii. https://www.tutorialspoint.com/

65

You might also like