Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION COMPANY
Dexpert Systems Pvt. Ltd. are committed to providing software development services for their
customers across the globe. These services comprise desktop and enterprise application
development, professional services and quality assurance for customers in varied domains.
Dexpert Systems Private Limited is a Non-govt company, incorporated on 30 Dec, 2013. It's a
private unlisted company and is classified as 'company limited by shares'.
They value your reputation like you do. They have their customer‟s customers also in mind. They
value your business like you do. They understand the time-to-market criticality of your products.
They value the needs of the consumers. They engage with you like a stakeholder partner looking to
add value in each stage of software development lifecycle.
They use state-of-the-art technologies and processes to build and deliver robust, scalable, efficient,
accurate and high-quality end products. They have excellent expertise in the financial domain
particularly in Banking, Retail, Gaming and Merchant Acquisition industry sectors centred around
Card payment, Bill Payment and Money Transfer. They have rich experience in PLM, RLM, QLM
and Reporting Application Development. Their strength lies in their team of highly qualified
professionals from top-notch institutes like the IITs and their knack for applying themselves to the
task with dexterity. They are dexterous in how they do and expert in what they do, they are
“dexpert”.
It designed for Enterprise, Retail, Business to employee and contained group financial
consolidation. Also Integrated to hardware, ERP business functions and mobility enable reporting
through machine learning, AI analytics.
They are able to automate AP/AR functions to manufacturing, retail, payroll, contracts, KPI's and
also direct purchase solutions for enterprises.
They have a network of sourcing and supply chain experts that can deliver cost savings on
operations with 28% indirect purchase savings delivery in 98% of the cases and ~3% savings on
direct purchase of over $20 million+.
1
They provide Completely customizable reports and default reporting on business activity,
transaction monitoring, risk reporting and more. Work on cost+ models linked to delivery
milestones. Make management of tasks hassle free and get work done at minimal risk.
They provide Flexibility , Agility & Integrity to their Customers. You will find that doing business
Dexpert Systems to be a win-win with assurance of success. Dexpert Systems Private Limited is a
Private incorporated on 30 December 2013. It is classified as Non-govt company and is registered at
Registrar of Companies, Pune. Its authorized share capital is Rs. 3,000,000 and its paid up capital is
Rs. 100,000. It is inolved in Other computer related activities [for example maintenance of websites
of other firms/ creation of multimedia presentations for other firms etc.]
Website : http://www.dexpertsystems.com
Contact : INDIA: +91 968 730 5002, +91 998 789 0900
USA: +1 (801) 554-1050
2
Chapter -2
INTRODUCTION PROJECT
2.1 Introduction:
TempoJunction is an online grocery (Kirana) native app which is build for UK market. An online
grocer is grocery store that allows online ordering, or a standalone e-commerce service that includes
grocery items. There is usually a delivery charge for this service. Online grocery delivery services
are available throughout Europe, Asia and North America, mostly in urban centers. The online
ordering is done through e-commerce websites or mobile apps.
TempoJunction is basically created for the Indian users who are living in U.K. to get day to day
household grocery. So using TempoJunction app they will get imported Indian grocery in U.K. like
dal, rice, fruits etc.
TempoJunction is a native application which can use for both android and ios users, where users
can purchase and order groceries online. The system is developed with a user-friendly and attractive
GUI. It delivers a wide range of groceries available online. Users have to first login into the system
to view the groceries and add them into their cart. They can then order it by making a secure online
payment via CREDIT/DEBIT CARD. The system functionality of products and orders is stored on
server side in a web service. It consists of client side scripting for placing orders by connecting to
the server side web service.
Advantages
User can purchase grocery products through his mobile phones that support android/ios.
User does not have to wait in long queue and does not have to struggle with trolleys.
User can coolly sit at home and purchase the products according to his like.
Easy and secure payment.
Can cancel order anytime.
24 hours customer care support.:
1. In-store pickup:
For brick-and-mortar stores that have online ordering, customers can place orders online and
picking up their ready orders in the store on their way home. In-store pickup is typically offered for
same-day shopping; it is usually less expensive than delivery, and can be done at a time of the
3
customer's choosing. This option is popular in rural areas. It is also useful for customers living
outside of the store's local delivery area.
2.Local delivery:
Most local online grocers have their own drivers. The most common type of personal delivery
involves storing grocery inventory in a warehouse to deliver to customers once orders are placed.
Another type of personal delivery which is less common is based on just-in time business in which
there is no warehouse or inventory. In this type of delivery, customers place orders for next-day
delivery. The online grocer shops for the groceries on the morning of the delivery day.
Some grocery fulfilment centres are set up as dark stores. Online-only grocers typically
have warehouses or distribution centres nearby, to allow local shipping of refrigerated items.
Online grocers with a large regional or national delivery area may ship groceries using courier
services. If the order contains cold or frozen items, this involves "flash freezing" the goods and pack
them into special shipping containers.
The objective of the project is to make an application in native platform to purchase items in an
existing shop. In order to build such an application complete web support need to be provided. A
complete and efficient web application which can provide the online shopping experience is the
basic objective of the project.
The current system for shopping is to visit the shop manually and from the available product choose
the item customer want and buying the item by payment of the price of the item .
1. It is less user-friendly.
2. User must go to shop and select products.
3. It is difficult to identify the required product.
4. Description of the product limited.
5. It is a time consuming process.
4
structure & format of sending HTTP requests with query parameters and checked Response format.
Then I worked on sending requests in flutter with keys and Query parameters and take the response
of Api‟s in variables and objects which are in Json format, also I have worked on some module of
UI designing & showing Json Responses on to the screen with the help of flutter. Flutter and Dart is
used to create view of app. To make an app interesting in look flutter provides many types of
Widgets. Using Widgets designing part will be easier and more efficient.
5
Chapter-3
TECHNICAL STANDARDS
The various system tools that have been used in developing both the front end and the back end of
the project are being discussed in this chapter.
3.1 FRONT END: In this project all front-end work are done with Flutter& Dart.
3.1.1 Flutter:
Framework architecture:
Dart platform
Flutter engine
Foundation library
Design-specific widgets
Dart platform
Flutter apps are written in the Dart language and make use of many of the language's more
advanced features.
On Android, and on Windows, MacOS and Linux via the semi-official Flutter Desktop Embedding
project, Flutter runs in the Dart virtual machine which features a just-in-time execution engine. Due
to App Store restrictions on dynamic code execution, Flutter apps use ahead-of-time (AOT)
compilation on iOS.
A notable feature of the Dart platform is its support for "hot reload" where modifications to source
files can be injected into a running application. Flutter extends this with support for stateful hot
reload, where in most cases changes to source code can be reflected immediately in the running app
without requiring a restart or any loss of state. This feature as implemented in Flutter has received
widespread praise.
6
Flutter engine
Flutter's engine, written primarily in C++, provides low-level rendering support using Google's Skia
graphics library. Additionally, it interfaces with platform-specific SDKs such as those provided by
Android and iOS. The Flutter Engine is a portable runtime for hosting Flutter applications. It
implements Flutter's core libraries, including animation and graphics, file and network I/O,
accessibility support, plugin architecture, and a Dart runtime and compile toolchain. Most
developers will interact with Flutter via the Flutter Framework, which provides a modern, reactive
framework, and a rich set of platform, layout and foundation widgets.
Foundation library
The Foundation library, written in Dart, provides basic classes and functions which are used to
construct applications using Flutter, such as APIs to communicate with the engine.
Widgets
UI design in Flutter typically involves assembling and/or creating various widgets. A widget in
Flutter represents an immutable description of part of the user interface; all graphics, including text,
shapes, and animations are created using widgets. More complex widgets can be created by
combining many simpler ones.
However, the use of widgets is not strictly required to build Flutter apps. An alternative option is to
use the Foundation library's methods directly, interfacing with "canvas" commands to draw shapes,
text, and imagery directly to the screen.
Design-specific widgets
The Flutter framework contains two sets of widgets which conform to specific design languages.
Material Design widgets implement Google's design language of the same name, and Cupertino
widgets imitate Apple's iOS design.
In this project Back-end work are done by Rest Api‟s of Opencart and also used Postman Software
for testing & getting Response of the Rest Api‟s. Responses of Rest Api‟s were in Json so to
showing them on to the Application screen Json parsing were used.
3.2.1 Opencart:
Opencart is an online resource that was built to make life easier for merchants and customers to
interact. Based in an Open Source environment, this shopping cart solution gives you to ability to
7
have your business be search engine friendly with a user interface that is welcoming and inviting. If
you‟re an online retailer, you‟ll likely need shopping functionality on your website, and Opencart is
one option to help you and your customers complete the shopping tasks easily. Whether you are a
small brick-and-mortar boutique in Darien, CT, a drop-shipper working out of your basement, or a
large ecommerce shoe seller in New Haven, Opencart can fulfil your online sales needs.
Opencart is a Free eCommerce Software which provides an Online Store management system.
Some of the features of Opencart Development Opencart Development are over here:
Plugins. The Opencart system offers you a wide variety of plugins. The newest edition of
the free version offers you about 1,500 plugins, which helps you customize your website
to meet the needs of your business and your customers‟ needs as well.
Support. The Opencart community is pretty substantial. You‟ll have access to technical
support for those sticky questions that you just can‟t seem to get answered. There are
community forums where fellow Opencart users and some skilled programmers are
always happy to give you input, as well. Found a bug? There is a quick and easy way to
report it on the Opencart website so you can submit a ticket and get back to whatever you
were doing in no time.
Script. The script architecture for Opencart is based in a popular program called MVC
(Model-View-Controller). Because of the popularity of this script foundation, there are
plenty of folks out in cyberspace that are familiar with this script, which gives you
optimal access to help when needed. This script is also XHTML compliant.
Server Resources. Because Opencart doesn‟t necessarily have as many built-in features
as some of its competitors, it is far less strenuous on the server systems that power it.
Adding just a few plugins shouldn‟t affect the speed and efficiency of your Opencart
website much at all. Adding tons of plugins to your site could, eventually, weigh on the
8
speed and efficiency that you and your user‟s experience, but having just a few basic
features makes the use of Opencart speedy and easy.
Dashboard. Opencart‟s administration is particularly easy for new users to understand.
The admin panel is neat, clear, and easy to understand and manage. For newbies, these are
all important factors to getting your shopping cart site up and running. The user-friendly
nature of this program extends from the admin dashboard to the experience of your
consumers.
Cost. Thanks to the Open Source platform from which this program was born, you can
download and use Opencart free of charge. For most small business online stores, the
initial out-of-the-box version will work just fine, and that version will cost you nothing!
Add-ons and plugins that you‟ll probably want to add to make your site its very own
come with a minimal fee for most of the modifiers.
The Opencart REST API allows for an almost unlimited set of possibilities for interfacing the
Opencart with your mobile app, web app, or other third party software.
9
Our extension allows store data to be created, read, updated, and deleted using the JSON
format. Your Opencart store can be more powerful when shop data can be pushed or pulled
from other systems, like a mobile application (Android , iOs, Windows) or a complex
integration with a backend accounting system, eCommerce inventory & warehouse
management systems.
With Opencart REST API you can manage the complete checkout process too.
Our extensions support Opencart 1.5.x, Opencart 2 and Opencart 3 versions.
Opencart REST API was born to create an easy-to-use, easy-to-understand and well-tested API
Opencart has ever had. If you are doing an Opencart mobile app or JavaScript development,
it‟s still worth taking the time to familiarize yourself with how our Opencart extension works.
This plugin provides an easy to use REST API, available via HTTP.
Retrieving or updating data is as simple as sending a HTTP request.
3.2.1 Postman:
The Postman API allows you to programmatically access data stored in Postman account with
ease.
The easiest way to get started with the API is to click the Run in Postman button present at the top
of the documentation page and use the Postman App to send requests.
Overview
You need a valid API Key to send requests to the API endpoints. You can get your key from the
integrations dashboard.
The Postman API will only respond to secured communication done over HTTPS. HTTP requests
will be sent a 301 redirect to corresponding HTTPS resources.
Response to every request is sent in JSON format. In case the API request results in an error, it is
represented by an "error": {} key in the JSON response.
The request method (verb) determines the nature of action you intend to perform. A request made
using the GET method implies that you want to fetch something from Postman, and POST implies
you want to save something new to Postman.
10
The API calls will respond with appropriate HTTP status codes for all requests. Within Postman
Client, when a response is received, the status code is highlighted and is accompanied by a help text
that indicates the possible meaning of the response code. A 200 OK indicates all went well, while
4XX or 5XX response codes indicate an error from the requesting client or our API servers
respectively.
Authentication
An API Key is required to be sent as part of every request to the Postman API, in the form of an X-
Api-Key request header.
If you do not have an API Key, you can easily generate one by heading over to the Postman
Integrations Dashboard.
An API Key tells our API server that the request it received came from you. Everything that you
have access to in Postman is accessible with an API Key that is generated by you.
For ease of use inside Postman, you could store your API key in an environment variable called
postman_api_key and this Collection will automatically use it to make API calls.
Visual Studio includes a code editor supporting IntelliSense (the code completion component) as
well as code refactoring. The integrated debugger works both as a source-level debugger and a
machine-level debugger. Other built-in tools include a code profiler, forms designer for building
GUI applications, web designer, class designer, and database schema designer. It accepts plug-ins
that enhance the functionality at almost every level—including adding support for source control
systems (like Subversion) and adding new toolsets like editors and visual designers for domain-
specific languages or toolsets for other aspects of the software development lifecycle (like the Team
Foundation Server client: Team Explorer).
11
Visual Studio supports 36 different programming languages and allows the code editor and
debugger to support (to varying degrees) nearly any programming language, provided a language-
specific service exists. Built-in languages include C, C++, C++/CLI, Visual Basic .NET, C#, F#,
JavaScript, TypeScript, XML, XSLT, HTML, and CSS.
The most basic edition of Visual Studio, the Community edition, is available free of charge. The
slogan for Visual Studio Community edition is "Free, fully-featured IDE for students, open-source
and individual developers".
Visual Studio Code features a lightning fast source code editor, perfect for day-to-day use. With
support for hundreds of languages, VS Code helps you be instantly productive with syntax
highlighting, bracket-matching, auto-indentation, box-selection, snippets, and more.
Visual Studio (the text editor is known as Visual Studio Code so we'll refer to that from now on) is
Microsoft's free text editor that runs on Windows, Linux, and macOS.
1. To run code: use shortcut Ctrl+Alt+N. or press F1 and then select/type Run Code , or right click the
Text Editor and then click Run Code in editor context menu. ...
2. To stop the running code: use shortcut Ctrl+Alt+M. or press F1 and then select/type Stop Code
Run.
1. Use one of the following methods to run your program. Choose the F5 key. ...
2. Visual Studio runs your program, and a window called Form1 appears. ...
3. Go back to the Visual Studio integrated development environment (IDE), and look at the new
toolbar.
4. Use one of the following methods to stop your program.
12
Chapter-4
ANALYSIS
4.1 Introduction
System analysis is the process of gathering and interpreting facts, diagnosing problems and
using the information to recommend improvements on the system. System analysis is a
problem solving activity that requires intensive communication between the system users and
system developers.
System analysis or study is an important phase of any system development process. The system is
viewed as a whole, the inputs are identified and the system is subjected to close study to identify
the problem areas. The solutions are given as a proposal. The proposal is reviewed on user
request and suitable changes are made. This loop ends as soon as the user is satisfied with the
proposal.
Product Description:
The system consists of two parts .A web application which can provide the online shopping service
and an mobile application for the customer to access the web service from his Smartphone. Web
application should be able to help the customer for selecting his item and to help the owner in
managing the orders from the customers.
4.2.2 System Objectives: To provide Mobile application for online shopping of products in an
existing shop.
1. Efficiency Requirements
When an online Grocery shopping native application implemented customer can purchase product
in an efficient manner.
13
2. Reliability Requirements
This is the percentage of time that your app works correctly to deliver the desired results, despite
potential failures in its environment. For the wayfinding app, it‟s the percentage of time that it
correctly plots the route, given that the network may not be available or that bandwidth may be
limited.
The system should provide a reliable environment to both customers and owner. All orders should
be reaching at the admin without any errors.
3. Usability Requirements
The android/ios application is designed for user friendly environment and ease of use.
4. Implementations Requirements
Implementation of the system using Flutter and Dart in front end with Opencart Rest api's as back
end and it will be used for database connectivity. Responsive App designing is used for making the
Application compatible for any type of phone Screen.
5. Delivery Requirements
The whole system is expected to be delivered in two months of time with a weekly evaluation by
the project guide.
4.2.3.2.1 User
User Login
Description of feature
This feature used by the users to login into system. A user must login with his user name and
password to the system after registration. If they are invalid, the user not allowed to enter the
system.
Functional requirement
- Username and password will be provided after user registration is confirmed. - Password should
be hidden from others while typing it in the field.
14
Register New User
Description of feature
A new user will have to register in the system by providing essential details in order to view the
products in the system. The admin must accept a new user by unblocking him.
Functional requirement
- System must be able to verify and validate information. - The system must encrypt the password
of the customer to provide security.
Purchasing an Item
Description of feature
The user can add the desired product into his cart by clicking add to cart option on the product. He
can view his cart by clicking on the cart button. All products added by cart can be viewed in the
cart. User can remove an item from the cart by clicking remove. After confirming the items in the
cart the user can submit the cart by providing a delivery address. On successful submitting the cart
will become empty.
Functional requirement
- System must ensure that, only a registered customer can purchase items.
4.3.2.1.2 Admin
Manage user
Description of feature
The administrator can add user, delete user, view user and block user.
Manage Moderator
Description of feature
The administrator can add moderator, delete moderator, block moderator and search for a
moderator.
15
Manage Products
Description of feature
The administrator can add product, delete product and view product.
Manage Orders
Description of feature
Functional requirements
4.3.1.2.3 MODERATOR
Description of features
A moderator is considered as a staff who can manage orders for the time being. As a future update
moderator may give facility to add and manage his own products. Moderators can reduce the work
load of admin. Now moderator has all the privilege of an admin having except managing other
moderators. He can manage users and manage products. He can also check the orders and edit his
profile.
Functional requirement
A use case diagram at its simplest is a representation of a user's interaction with the system that
shows the relationship between the user and the different use cases in which the user is involved. A
use case diagram can identify the different types of users of a system and the different use cases and
will often be accompanied by other types of diagrams as well. The use cases are represented by
either circles or ellipses.
While a use case itself might drill into a lot of detail about every possibility, a use-case diagram can
help provide a higher-level view of the system. It has been said before that "Use case diagrams are
16
the blueprints for your system". They provide the simplified and graphical representation of what
the system must actually do.
17
Chapter-5
DESIGN
System design is the solution for the creation of a new system. This phase focuses on the detailed
implementation of the feasible system. It emphasis on translating design. Specifications to
performance specification. System design has two phases of development
Logical design
Physical design
During logical design phase the analyst describes inputs (sources), outputs (destinations), databases
(data sores) and procedures (data flows) all in a format that meets the user requirements. The
analyst also specifies the needs of the user at a level that virtually determines the information flow
in and out of the system and the data resources. Here the logical design is done through data flow
diagrams and database design. The physical design is followed by physical design or coding.
Physical design produces the working system by defining the design specifications, which
specify exactly what the candidate system must do. The programmers write the necessary
programs that accept input from the user, perform necessary processing on accepted data and
produce the required report on a hard copy or display it on the screen.
Input design is the link that ties the information system into the world of its users. The input
design involves determining the inputs, validating the data, minimizing the data entry and
provides a multi-user facility. Inaccurate inputs are the most common cause of errors in data
processing. Errors entered by the data entry operators can be controlled by input design. The
user-originated inputs are converted to a computer based format in the input design. Input data are
collected and organized into groups of similar data. Once identified, the appropriate input media are
selected for processing. All the input data are validated and if any data violates any conditions, the
user is warned by a message.
If the data satisfies all the conditions, it is transferred to the appropriate tables in the database.
In this project the student details are to be entered at the time of registration. A page is designed for
this purpose which is user friendly and easy to use.
18
5.1.2 OUTPUT DESIGN:
Computer output is the most important and direct source of information to the user. Output design
is a very important phase since the output needs to be in an efficient manner. Efficient and
intelligible output design improves the system relationship with the user and helps in decision
making. Allowing the user to view the sample screen is important because the user is the ultimate
judge of the quality of output.
Registration DFD
Login DFD
19
Admin DFD
5.3 ER Diagram
Login
Product Details
Product Orders
21
Complete Diagram
Unified Modeling Language is used to specify, visualize, modify, construct and document the
artifacts of an object-oriented software-intensive system under development. The met modeling
architecture of Unified Modeling Language (UML) is defined in the Meta object function (MOF).
Modeling.
It is important to distinguish between the UML model and the set of diagrams of a system. A
diagram is a partial graphic representation of a system's model. The model also contains
documentation that drives the model elements and diagrams (such as written use cases).
Static (or structural) view: emphasizes the static structure of the system using objects,
attributes, operations and relationships. The structural view includes class diagrams and
composite structure diagrams.
22
Dynamic (or behavioral) view: emphasizes the dynamic behavior of the system by showing
collaborations among objects and changes to the internal states of objects. This view
includes sequence diagrams, activity diagrams and state machine diagrams.
The class diagram is the main building block of object oriented modeling. It is used both for general
conceptual modeling of the systematic of the application, and for detailed modeling translating the
models into programming code.
23
Fig 5.10:Class Diagram
24
Every company having customers maintains customer accounts and supports a complete life cycle
of the account from its creation until it is closed. There are differences in what are the stages (states)
in the account's life cycle, and what are conditions or events causing account to change its state.
25
Fig 5.12 Sequence diagram
26
A black circle represents the start (initial state)of the workflow;
An encircled black circle represents the end (final state).
Arrows run from the start towards the end and represent the order in which activities happen. Hence
they can be regarded as a form of flowchart. Typical flowchart techniques lack constructs for
expressing concurrency. However, the join and split symbols in activity diagrams only resolve this
for simple cases; the meaning of the model is not clear when they are arbitrarily combined with
decisions or loops. Name of Activity: Ask for Login and registration. Description: User request for
Login. Preconditions: Administrator is already logged in. Normal flow of events:
The System user logged in.
The system user is verified.
27
Component diagrams are different in terms of nature and behavior. Component diagrams are used
to model the physical aspects of a system.
Component diagrams are used to visualize the organization and relationships among components
in a system. These diagrams are also used to make executable systems.
Component diagram is a special kind of diagram in UML. The purpose is also different from all
other diagrams discussed so far. It does not describe the functionality of the system but it describes
the components used to make those functionalities.
Thus from that point of view, component diagrams are used to visualize the physical components
in a system. These components are libraries, packages, files, etc.
Component diagrams can also be described as a static implementation view of a system. Static
implementation represents the organization of the components at a particular moment.
A single component diagram cannot represent the entire system but a collection of diagrams is
used to represent the whole.
28
Chapter-6
IMPLEMENTATION
Login.dart:
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:tempo_junction1/forgotPassword.dart';
import 'package:tempo_junction1/registration.dart';
import 'package:tempo_junction1/requestLoginAPI.dart';
import 'package:tempo_junction1/platformScaffold.dart';
import 'package:flutter/services.dart';
void initState() {
super.initState();
_saveCurrentRoute("/LoginScreen");
}
@override
Widget build(BuildContext context) {
return WillPopScope(
onWillPop: () {
if(Navigator.canPop(context)) {
29
Navigator.of(context).pushNamedAndRemoveUntil('/HomeScreen', (Route<dynamic> route)
=> false);
} else {
Navigator.of(context).pushReplacementNamed('/HomeScreen');
}
},
child:
PlatformScaffold(
appBar: AppBar(
title: Text("LOGIN",
style: TextStyle(fontSize: 30.0, color: Colors.white,),
),
centerTitle: true,
backgroundColor: Colors.red,
iconTheme: IconThemeData(color: Colors.black),
),
backgroundColor: Colors.white,
body: Container(
child: Padding(
Padding(
padding: EdgeInsets.fromLTRB(0.0, 20.0, 0.0, 0.0),
child: Container(height: 20.0,
child: FlatButton(
onPressed: () {
Navigator.push(context, MaterialPageRoute(builder: (BuildContext context) =>
ForgotPassword()));
},
child: Text("forget password",
style: TextStyle(color: Colors.blue,
fontSize: 14.0),
),highlightColor:Colors.red,
color: Colors.white,
),
),
),
],
),
),
),
),
);
}
30
6.2 API Used
Get product detail:
example.com/api/getProduct/p_id/2886/key/*****
Customer Login
example.com/api/login/key/*****
post{"email":"sirajuddin.it@gmail.com","password":"123456"}
Get categories or menu list
example.com/api/getCategories/key/*****
Get sub categories
example.com/api/getCategorybyid/cate_id/59/key/*****
Customer Register
exmple.com/api/register/key/*****
post{"email":"sirajuddin.itq@gmail.com","firstname":"test","password":"123456","lastnam
e":"test123","telephone":"1234567890"}
Sub Category
example.com/api/getCategorybyid/cate_id/59/key/*****
post
{"category_id":"59"}
Change Password
exmple.com/api/editPassword/key/*****
post
{"email":"sirajuddin.it@gmail.com","old_password":"123456","new_password":"123456"}
Edit Customer data
exmple.com/api/editCustomer/key/*****
post
{"customer_id":"3","firstname":"siraj2","lastname":"kadva","email":"sriajuddin.it@gmail.c
om","telephone":"9586603596","fax":"9586603596"}
Get Customer Info
exmple.com/api/getcustomerinfo/key/*****
post
{"customer_id":"3"}
.
31
Chapter-7
TESTING
7.1 INTRODUCTION.
Testing involves operation of a system or application under controlled conditions and evaluating the
results. The controlled conditions should include both normal and abnormal conditions. Testing
should intentionally attempt to make things go wrong to determine if things happen when they don‟t
happen when they should. It is oriented to „detection‟.
No matter how good a programmer is, no application will ever be one hundred percent correct.
Testing was important to us in order to ensure that the application works as efficient as possible and
conforms to the needs of the system.
Testing was carried out throughout the development of the application, not just the application has
been developed, as at this stage it took a great deal of effort to fix any bugs or design problems that
were occurred.
When our application was configured and customized in the system, the test was observed that this
configuration or customization does not cause any improper processing or violation. The following
care was taken when the application was developed at the local machine.
Also known as glass box, structural, clear box and open box testing. A software testing technique
where by explicit knowledge of the internal workings of the item being tested are used to select the
test data. Unlike black box testing, white box testing uses specific knowledge of programming code
to examine outputs. The test is accurate only if the tester knows what the program is supposed to do,
it means that he must be completely aware that for particular input a particular output must be
obtained.The main benefit of this type of testing is Tester can see if the program diverges from its
intended goal. This test concentrates on the examination of the coze rather than the specification.
32
Black Box Testing
Black-box and white-box are test design methods. Black-box test design treats the system as a
"black-box", so it doesn't explicitly use knowledge of the internal structure. Black-box test design is
usually described as focusing on testing functional requirements. Also know as behavioral,
functional, opaque-box, and closed-box.
Interface error.
Incorrect or missing functions.
Errors in data structures or external database access.
Performance Errors.
Initialization and termination errors.
We have also done Boundary value analysis by applying different size of digits. The number field
can only take 6 or 10 digit number.
We also check special cases like:
User can not send same number for more than five times.
Integration Testing
It is the phase of software testing in which individual software modules we are combined and tested
as a group. It follows unit testing and precedes system testing.
33
The purpose of Integration testing is to verify functional, performance and reliability requirements
placed on major design items.
It takes as its input modules that have been checked out by unit testing, groups them in larger
aggregates, applies tests defined in an Integration test plan to those aggregates, and delivers as its
output the integrated system ready for system testing.
TEST CASES:
S.N. Test Case +/- Short Description Steps To Follow Expected Obtained
Id Results Result
4 TC 1.4 + Check link from Click SEARCH Search page Search page
reviewer page to should be be displayed
Search page display
34
Chapter-8
SNAPSHOTS
Login
35
Registration
36
Home Screen
37
Search
38
Product Detail:
39
Cart
40
Set Address
41
Chapter-9
CONCLUSION
The project entitled TempoJunction was completed successfully.
The system has been developed with much care and free of errors and at the same time it is efficient
and less time consuming. The purpose of this project was to develop an android/iOS application for
purchasing items from a shop.
This project helped us in gaining valuable information and practical knowledge on several
topics like designing with Flutter & Dart, usage of responsive templates, designing of Mobile
applications, and management of Rest Api‟s also their usage . The entire system is secured. Also
the project helped us understanding about the development phases of a project and software
development life cycle. We learned how to test different features of a project.
This project has given us great satisfaction in having designed an application which can be
implemented to any nearby shops or branded shops selling various kinds of products by simple
modifications.
There is a scope for further development in our project to a great extend. A number of features can
be added to this system in future like providing moderator more control over products so that each
moderator can maintain their own products. Another feature we wished to implement was providing
classes for customers so that different offers can be given to each class. System may keep track of
history of purchases of each customer and provide suggestions based on their history. These
features could have implemented unless the time did not limited us.
42
Chapter-10
REFRENCES
1. Flutter documentation https://flutter.dev/docs
2. Dart documentation https://dart.dev/guides
3. Opencart https://www.opencart.com/
4. TempoJunction Website https://www.tempojunction.co.uk/
5. Flutter free templates https://flutterawesome.com/
6. Flutter daily updates https://medium.com/flutter
43
INTERNSHIP FEEDBACK BY COMPANY TO STUDENT
(Form to be Pasted)
44