Whole Mart: Our Business Is Taking Care of Your Business

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

SUMMER TRAINING PROJECT

2018
WHOLE MART

Web 2.0 Mobile Application


Our Business Is Taking Care Of Your Business

Under Supervision of:


-------
BCS Infallible Technology

Contributed By:
Harshit, Kratika, Shikha, Shivali,
Tanishi, Tushar, Akash
ACKNOWLEDGEMENT
We would like to express our special thanks of gratitude
to our project manager Mrs. Priya Gupta who gave us the
golden opportunity to do this wonderful project on the
topic WHOLEMART, which also helped us in doing a lot of
Research and we came to know about so many new
things for which we are really thankful to them.

Secondly we would also like to thank our parents and


friends who helped us a lot in finalizing this project within
the limited time frame.
TABLE OF CONTENT

Organizational profile…………………………………….4
Project Title…………………………………………………..6
Project Category…………………………………………...6
Abstract…………………………………………………….....7
Modules………………………………………………………….8
Methodology………………………………………………..10
Learning Objective……………………………………….12
System Requirements………………………………….13
Technology Used………………………………………….14
Feasibility Study……………………………………......22
Use Case Diagram……………………………………….25
Data Flow Diagram……………………………………..26
Entity Relationship Diagram…………………......28
Architecture Diagram………………………………….29
Software Development Life Cycle……………….30
System Design…………………………………………….32
Testing………………………………………………………..35
Screenshots………………………………………………..39
Reference…………………………………………………….49
Bibliography………………………………………………..50
ORGANIZATIONAL PROFILE
The BCS, been one of the top leading software company all
around the globe particularly in Asia, has been honoured
several times as the best interactive web designing studio by
the notable Web-Award Juries Internationally. BCS has been
successfully serving its national & international clients for
more than eight years now.
It provide a smart blend of IT and intelligent professionals
are dedicated in optimizing and assisting small-medium sized
businesses in getting the most reliable and responsive result
& giving you required confidence to take on projects and
delivering on-target, economical and quality solutions,
leveraged upon the varying technology to benefit from.
Internet has really diminished communication barriers
between BCS and overseas client and allows us to work with
global clients with ease. Our communication process works
efficiently with all type of projects and produce successful
results. Contact us to learn how we can provide you quality
results no matter where your business is located
BCS partners with Government organizations, Armed Forces,
Homeland Security agencies, and Public Sector enterprises to
help them harness the power of the latest Information and
Communication technologies to transform themselves and
align their services with the changing needs of citizens and
stakeholders. It Work as on Private as well as Government
Application,Mobile Based,Web Based and has a own project.
It also provide Self built Software educational Module
that helps in distinct learning courses. It also deals with
Several Government Project.
PROJECT TITLE
WHOLEMART

PROJECT CATEGORY

Web 2.0 based and android application


ABSTRACT
This project is about wholeseller spot. In this, we have to
develop an application for the wholeseller to get ease with
the buying and selling of various goods in large quantity and
at the reasonable rates and makes the transaction faster via
using the android phones. This develops a decision making
framework for the design and operation of the wholesaling
system. This actually saves the time of the wholeseller as
well as maintains the record. In this application, we build up
the software which contains the category of the product. We
can select the products from them and the quantity required.
The end user is responsible for negotiating prices or
volumes, consolidate warehouses, select transport modes,
and test the effectiveness of proposed service packages.
In this first of all client will place the order and then he or
she will fill the form which contains the basics details of
him like address and all.After that it will go to cloud and
the request is will send to the wholeseller when the whole
seller accept the request it will send back to cloud and the
client will get the link in which he will have to pay some
percentage varying according to the wholeseller in this the
wholeseller will give the discount according to the costumer
after the payment costumer will receive the transaction id
and order id and date of delivery.Wholeseller will also
manages the stock
MODULES
1) Product and brand search
2) Login
3) Price Decision
4) Billing and payment
5) Offer
6) Feedback

PRODUCT MODULE
This module consist of the categories of the products that
whole seller has. Each category consist of the related
products from which the client can select and request for
buying it.

LOGIN MODULE
This module is for the whole seller. The whole seller will login
to the application for further process. Here it can perform
billing and other modules.

OFFER
In the offer section, the special offer are available for the
clients from which they can make choices according to their
need of products.
PRICE DECISION
This module consists of the whole seller part after the
selection of the product and request for the bill. The
bargaining is done in this section. The whole seller decides
the discount according to the customer and makes price
decision.

BILLING AND PAYMENT


 There will be condition of advanced payment.
 It depends upon customer that he want to pay full or half
payment before delivery.
 GST will be included as per the product.
 By the selected product, bill is made by operations
designed in the application.
 Then the payment is done via. The UPI transaction
METHODOLOGY OF
TRAINING

Firstly, the training at BCS started with selection process


depending on the resume submitted by the candidates
followed by online test which consist of various basic
questions to check the knowledge and language skills of
students. Further final selection is done on the basis of
telephonic interview.

The training at BCS was of 45 regular working days and


timings from 10a.m. to 5p.m. with no weekend free. It
also focuses on discipline and punctuality of trainee and a
systematic work. It gives environment to trainees to
make their best out of them. This help the trainees to
familiar with the actual working conditions in the
industry.

In the starting days we were taught about the concepts


of C,C++,JAVA,DATABASE HANDLING in the operating
system. Then we were explained about the use case
diagram,data flow diagram, entity relationship diagram.

We were introduced many technologies like


COUCHDB,GWT,NEO4J,UI/UX etc. along with the
importance of social media. Being associated with BCS
we got an opportunity chance to visit EnggHeads an IT
company where we got to know about various latest
technologies. There presentation and the idea behind our
project was tested. We also learn the quality of working
in a team under pressure where all members have
different strengths to achieve the target.

The objective of training is “LEARNING BY DOING”. It


helps a lot to learn many technologies by implementing
and exercising through our project which increased our
skills and knowledge regarding the technology in
practical world.
LEARNING OBJECTIVE
Short Term-
The main short term objective of this training was the
idea of an industrial environment, strict and discipline
schedule of the industry. The enthusiasm to learn more
to be highly precise in the company. It also familiar us
with the leadership quality which is the most important in
industry. It gives us how to tackle with the problems and
situations under pressure in the company.

Long Term-
The long term objective would be the introduction to an
official as well as industrial environment which helps us a
lot when we would be recruited to work in any company.
It also help us building up a good relationship between us
and colleagues. This industrial training has nurture us a
lot and given us a confidence to stand in a cooperative
industries.
Hardware Requirements
 Developer’s Side
Computer or laptop with 8GB RAM and 1TB hard disk
 Cloud Side
Server Computer with i3 processor
 End- user side
Android Supporting Mobile Phones

Software Requirements
 Developer’s Side

 Android Studio

 Cloud Side

 Operating System

 Space on cloud required to store data

 Backend- NoSQL

 End- user side

 Android Operating System


TECHNOLOGY USED

 TOMCAT
 ESCLIPSE
 GWT(GOOGLE WEB KIT)
 COUCH DB(NO SQL)(BIG DATA)
 NEO4J(BIG DATA)
 MYSQL
 XAMPP SERVER
 ANDROID STUDIO

TOMCAT

The Apache Tomcat software is an open source


implementation of the Java Servlet, JavaServer Pages, Java
Expression Language and Java WebSocket technologies. The
Java Servlet, JavaServer Pages, Java Expression Language
and Java WebSocket specifications are developed under
the Java Community Process.

The Apache Tomcat software is developed in an open and


participatory environment and released under the Apache
License version 2. The Apache Tomcat project is intended to
be a collaboration of the best-of-breed developers from
around the world. We invite you to participate in this open
development project. To learn more about getting involved.

Apache Tomcat software powers numerous large-scale,


mission-critical web applications across a diverse range of
industries and organizations.

Apache Tomcat, Tomcat, Apache, the Apache feather, and


the Apache Tomcat project logo are trademarks of the
Apache Software Foundation.

It is the product of the Apache that will provide the facility to


run the project on localhost.It has the basic port number of
3306.It can be easily configure with the java,android, and
many more.

ESCLIPSE

Eclipse is an integrated development environment (IDE)

used in computer programming, and is the most widely used


Java IDE. It contains a base workspace and an
extensible plug-in system for customizing the environment.
Eclipse is written mostly in Java and its primary use is for
developing Java applications, but it may also be used to
develop applications in other programming languages via
plug-ins,
including Ada, ABAP, C, C++, C#, COBOL, D, Fortran, Haskel
l, JavaScript, Julia, Lasso, Lua,
NATURAL, Perl, PHP, Prolog, Python, R, Ruby (including Ruby
on Rails framework), Rust, Scala, Clojure, Groovy, Scheme,
and Erlang. It can also be used to develop documents
with LaTeX (via a TeXlipse plug-in) and packages for the
software Mathematica. Development environments include
the Eclipse Java development tools (JDT) for Java and Scala,
Eclipse CDT for C/C++, and Eclipse PDT for PHP, among
others.

The initial codebase originated from IBM VisualAge .The


Eclipse software development kit (SDK), which includes the
Java development tools, is meant for Java developers. Users
can extend its abilities by installing plug-ins written for the
Eclipse Platform, such as development toolkits for other
programming languages, and can write and contribute their
own plug-in modules. Since the introduction of
the OSGi implementation (Equinox) in version 3 of Eclipse,
plug-ins can be plugged-stopped dynamically and are termed
(OSGI) bundles

Esclipse ide is available is used for the various language and


it contains the most beneficial feature of that is shows the
error as well as the Suggestion to solve the problem.It really
the programmer to solve the problem easily.

GWT(GOOGLE WEB KIT)

Google Web Toolkit is an open source set

of tools that allows web developers to create and maintain


complex JavaScript front-end applications in Java. Other than
a few native libraries, everything is Java source that can be
built on any supported platform with the included
GWT Ant build files. It is licensed under the Apache
License version 2.0

GWT emphasizes reusable approaches to common web


development tasks, namely asynchronous remote procedure
calls, history
management, bookmarking, UI abstraction, internationalizati
on, and cross-browser portability.

It is the tool of the google that provide the amazing tools to


develop the web application and the project made with the
help of the GWT looks really amazing.The most important
part of this is that it has a good compatibility with JAVA
ESCLIPSE. And the web application made from this is most
secure as it convert java code to js automatically.

COUCH DB

Apache CouchDB is open source database software

that focuses on ease of use and having a scalable


architecture. It has a document-oriented NoSQL database
architecture and is implemented in the concurrency-oriented
language Erlang; it uses JSON to store data, JavaScript as its
query language using MapReduce, and HTTP for an API.[1]
Unlike a relational database, a CouchDB database does not
store data and relationships in tables. Instead, each database
is a collection of independent documents. Each document
maintains its own data and self-contained schema. An
application may access multiple databases, such as one
stored on a user's mobile phone and another on a server.
Document metadata contains revision information, making it
possible to merge any differences that may have occurred
while the databases were disconnected.

CouchDB implements a form of multiversion concurrency


control (MVCC) so it does not lock the database file during
writes. Conflicts are left to the application to resolve.
Resolving a conflict generally involves first merging data into
one of the documents, then deleting the stale one.[2]

Other features include document-level ACID semantics


with eventual consistency, (incremental) MapReduce, and
(incremental) replication. One of CouchDB's distinguishing
features is multi-master replication, which allows it to scale
across machines to build high performance systems. A built-
in Web application called Fauxton (formerly Futon) helps with
administration.

NEO4J(BIG DATA)

Neo4j is a graph database management system developed

by Neo4j, Inc. Described by its developers as an ACID-


compliant transactional database with native graph storage
and processing.

Neo4j is implemented in Java and accessible from software


written in other languages using the Cypher Query
Language through a transactional HTTP endpoint, or through
the binary "bolt" protocol.Neo4j has the most beautiful
database and in this the user can feel the database and the
data also.

MYSQL

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,[7] 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. For proprietary use,
several paid editions are available, and offer additional
functionality.

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, Simple Machines
Forum, phpBB, MyBB, and Drupal. MySQL is also used in
many high-profile, large-scale websites, including Google
(though not for searches), Facebook, .

XAMPP SERVER

XAMPP is a free and open source cross-platform web

server solution stack package developed by Apache


Friends consisting mainly of the Apache HTTP
Server, MariaDB database, and interpreters for scripts
written in the PHP and Perl programming languages XAMPP
stands for Cross-Platform (X), Apache (A), MariaDB (M), PHP
(P) and Perl (P). It is a simple, lightweight Apache
distribution that makes it extremely easy for developers to
create a local web server for testing and deployment
purposes. Everything needed to set up a web server – server
application (Apache), database (MariaDB), and scripting
language (PHP) – is included in an extractable file. XAMPP is
also cross-platform, which means it works equally well on
Linux, Mac and Windows. Since most actual web server
deployments use the same components as XAMPP, it makes
transitioning from a local test server to a live server
extremely easy as well.
ANDROID STUDIO

Android Studio is the official integrated development

environment (IDE) for Google's Android operating system,


built on JetBrains' IntelliJ IDEA software and designed
specifically for Android development.[8] It is available for
download on Windows, macOS and Linux based operating
systems It is a replacement for the Eclipse Android
Development Tools (ADT) as primary IDE for native Android
application development.

 Gradle-based build support


 Android-specific refactoring and quick fixes
 Lint tools to catch performance, usability, version
compatibility and other problems
 ProGuard integration and app-signing capabilities
 Template-based wizards to create common Android
designs and components
 A rich layout editor that allows users to drag-and-drop UI
components, option to preview layouts on multiple screen
configurations[16]
 Support for building Android Wear apps
 Built-in support for Google Cloud Platform, enabling
integration with Firebase Cloud Messaging (Earlier 'Google
Cloud Messaging') and Google App Engine[17]
 Android Virtual Device (Emulator) to run and debug apps
in the Android studio.
Feasibility Study
Being a web and android application WHOLEMART, we will
have an associated hosting cost. The system will follow the
freeware software standards. No cost will be charged from
the potential customers. Bug fixes and maintaining task will
have an associated cost. Besides the associated cost, there
will be many benefits for the customers.

Technical Feasibility:

Project WHOLEMART is a complete web 2.0 based application


and a mobile application. The main technologies and tools
used are associated with WHOLEMART are

 JAVA
 ECLIPSE
 GWT COMPONENTS
 MYSQL
 RPC
 SERVLET
 APACHE TOMCAT
 ANDROID STUDIO

Agile Model
Agile software development is a group of software
development methodologies based on iterative and
incremental development, where requirements and
solutions evolve through collaboration between self-
organizing, cross-functional teams.

PROGRAM DESIGN:

Allocate processing, functions, design the database, define


database processing, allocate execution time, define
interfaces and processing modes with the operating system,
describe input and output processing, and define preliminary
operating procedures.

DOCUMENT THE DESIGN:

The first rule of managing software development is ruthless


enforcement of documentation requirements.

DO IT TWICE:

The second most important criterion for success revolves


around whether the product is totally original. If the
computer program in question is being developed for the first
time, arrange matters so that the version finally delivered to
the customer for operational deployment is actually the
second version in so far as critical design/operations areas
are concerned.
PLAN, CONTROL AND MONITOR TESTING:

It is the phase of greatest risk in terms of dollars and


schedule. It occurs at the last point in the schedule when
backup alternatives are least available, if at all.

INVOLVE THE CUSTOMER:

It is important to involve the customer in a formal way so


that he has committed himself at earlier points, before final
delivery.
USECASE DIAGRAM

Login/Signup

Search and order


Product

Billing

END USER WHOLESALER

Payment/Cancel
Order

Delivery Date &


Delivery
DFD(DATA FLOW DIAGRAM)
0 Level DFD

ITEM INFO ORDER HISTORY


USER

USERNAME AND PASSWORD ITEM ORDER


REPORT
WHOLE
SALLER
SPOT

ADMIN
1 Level DFD:

PRODUCT

REQUEST
USER
FOR
ORDER

PRICE ADMIN
DECISION

BILLING
AND
PAYMENT

DELIVERY
DATE

CANCEL
ORDER

FEED
BACK
Architecture Diagram

RECIEVING THE
ORDER FORM CLIENT INFO
SENDING TO WITH ORDER
WHOLESALER

NOTIFY THE
ACCEPTANCE
OF REQUEST
AND FURTHER
PROCEED TO

ORDER
ACCEPTED

Wholesaler

Client
`S ER Diagram password
`t
Login
o id
c name

k lipstick
makeup

LogIn blush
nam
e User
use id
cosmetics foundatio
r n sham
mobile
poo

Home soap
User Product product
email HAS

Food foil

perfum produc
e Persona t
address
l care cerial
oil pulse
s
cream rice

Offerzone discoun
t

sale Festive
offer

Feedback
Manage
id

name
Stock
Bill
mobile desc
Customer

id type
desc id

address email HAS No.


typ
e

Store

id
desc

type
SDLC Model: Waterfall Model

In this model, the software development activity is divided


into different phases and each phase consists of series of
tasks and has different objectives. It is mandatory for a
phase to be completed before the next phase starts. It is
mandatory for a phase to be completed before the next
phase starts.

 Requirement Analysis
We have Captured all the requirements from the whole
sellers. We also have done group discussion to
understand what should be there in the product. The
team attempts to ask all the questions and secure all
the answers they need to build the product requirement.
 Design
We have design the product requirements, including
scenarios, layouts, and data models, UI part, GWT
design components are imposed on it.
 Coding
Once the design is approved, we begin the technical
implementation of the product. We have done the
backend coding and work on databases.
 Testing
Upon completion of full implementation, testing needs
to occur before the product can be released to
customers. We will use the design documents, personas
and user case scenarios delivered by the product
manager in order to create their test cases.

 Maintenance

Make sure that the application is up and running in the


respective environment. In case user encounters and
defect, make sure to note and fix the issues faced. In
case any issue is fixed; the updated code is deployed in
the environment.
System Analysis

It is a process of collecting and interpreting facts, identifying


the problems, and decomposition of a system into its
components.

System analysis is conducted for the purpose of studying a


system or its parts in order to identify its objectives. It is a
problem solving technique that improves the system and
ensures that all the components of the system work
efficiently to accomplish their purpose.

Analysis specifies what the system should do.

System Design
System design is the process of defining the elements of a
system such as the architecture, modules and components,
the different interfaces of those components and the data
that goes through that system. It is meant to satisfy specific
needs and requirements of a business or organization
through the engineering of a coherent and well-running
system.

Systems design implies a systematic approach to the design


of a system. It may take a bottom-up or top-down approach,
but either way the process is systematic wherein it takes into
account all related variables of the system that needs to be
created—from the architecture, to the required hardware and
software, right down to the data and how it travels and
transforms throughout its travel through the system.

Types of System Design

Logical Design
Logical design pertains to an abstract representation of the
data flow, inputs, and outputs of the system. It describes the
inputs (sources), outputs (destinations), databases (data
stores), procedures (data flows) all in a format that meets
the user requirements.

While preparing the logical design of a system, the system


analyst specifies the user needs at level of detail that
virtually determines the information flow into and out of the
system and the required data sources. Data flow diagram, E-
R diagram modeling are used.

Physical Design
Physical design relates to the actual input and output
processes of the system. It focuses on how data is entered
into a system, verified, processed, and displayed as output.

It produces the working system by defining the design


specification that specifies exactly what the candidate
system does. It is concerned with user interface design,
process design, and data design.

Architectural Design
It is also known as high level design that focuses on the
design of system architecture. It describes the structure and
behavior of the system. It defines the structure and
relationship between various modules of system
development process.

Detailed Design
It follows Architectural design and focuses on development
of each module.
Software Testing
Software testing is the process of evaluation a software item
to detect differences between given input and expected
output. Also to assess the feature of a software item. Testing
assesses the quality of the product. Software testing is a
process that should be done during the development process.
In other words software testing is a verification and
validation process.

Basics of Software Testing

There are two basics of software testing: blackbox testing


and whitebox testing.

Blackbox Testing

Black box testing is a testing technique that ignores the


internal mechanism of the system and focuses on the output
generated against any input and execution of the system. It
is also called functional testing.

Whitebox Testing

White box testing is a testing technique that takes into


account the internal mechanism of a system. It is also called
structural testing and glass box testing.
Black box testing is often used for validation and white box
testing is often used for verification.

Types of Testing

Unit Testing

Unit testing is the testing of an individual unit or group of


related units. It falls under the class of white box testing. It
is often done by the programmer to test that the unit he/she
has implemented is producing expected output against given
input.

Integration Testing

Integration testing is testing in which a group of components


are combined to produce output. Also, the interaction
between software and hardware is tested in integration
testing if software and hardware components have any
relation. It may fall under both white box testing and black
box testing.

Functional Testing

Functional testing is the testing to ensure that the specified


functionality required in the system requirements works. It
falls under the class of black box testing.
System Testing

System testing is the testing to ensure that by putting the


software in different environments (e.g., Operating Systems)
it still works. System testing is done with full system
implementation and environment. It falls under the class of
black box testing.

Stress Testing

Stress testing is the testing to evaluate how system behaves


under unfavorable conditions. Testing is conducted at beyond
limits of the specifications. It falls under the class of black
box testing.

Performance Testing

Performance testing is the testing to assess the speed and


effectiveness of the system and to make sure it is generating
results within a specified time as in performance
requirements. It falls under the class of black box testing.

Usability Testing

Usability testing is performed to the perspective of the client,


to evaluate how the GUI is user-friendly? How easily can the
client learn? After learning how to use, how proficiently can
the client perform? How pleasing is it to use its design? This
falls under the class of black box testing.
Acceptance Testing

Acceptance testing is often done by the customer to ensure


that the delivered product meets the requirements and works
as the customer expected. It falls under the class of black
box testing.

Regression Testing

Regression testing is the testing after modification of a


system, component, or a group of related units to ensure
that the modification is working correctly and is not
damaging or imposing other modules to produce unexpected

results. It falls under the class of black box testing.

Beta Testing

Beta testing is the testing which is done by end users, a


team outside development, or publicly releasing full pre-
version of the product which is known as beta version. The
aim of beta testing is to cover unexpected errors. It falls
under the class of black box testing.
SCREENSHOTS

PRESENT OUTPUT(Web)
PRESENT OUTPUT(Web)
PRESENT OUTPUT(Web)

PRESENT OUTPUT(Web)
PRESENT OUTPUT(Web)
PRESENT OUTPUT(Web)
ANDROD OUTPUT
REFERENCE

BIBLIOGRAPHY

You might also like