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

Chapter 1

Introduction

1. Project Background

ZwrexAsia is The largest online imported and local products store in Asia.
Zwrex-Asia Mobile application focusing on e-commerce system which includes Fresh Markets ,
Cooking Ingredients , Frozen Food ,Dairy & Beverages ,Snacks , Household and Personal items. In-
stead of going market use application and save time because Time is Money.
The UI design of application is design in such way that any body can use it Easily .
Any person can downloads this application in their mobile phones and uses it according to their
need. Found yourself busy with work and many other things you can easily open the application
and order what you want.

1.2 Problem Statement

Few years before when touch mobile devices were not introduced the people faces a lot of diffi-
culties as compare to now a days. Its difficult for People to go for the grocery on the working day.
So we introduce the application that help the people to solve their problems regarding to their
time issues.

1.3 Objectives
The objectives consist of

i. Provides a time and cost-effective solution.


ii. A e-commerce application where the user can done online shopping anywhere, at any
time.
iii. Facilitate user community.
iv. Provide safe environment regarding to your billing (PayPal , Stripe , e.t.c).

1.4 Purpose

As there are many platform available for e-commerce such as Amazon , Xi e.t.c, but the
Zwrex-Asia brings convenience for customers as they do not have to leave and only need to
browse app online, especially for buying the fresh and quality product. It also helps customers to
buy a big range of products and also save time. I think it gives power to Customer.
1.5 Scope

• The system will run on iOS Devices.


• The Application install on any iOS Devices up to 12.0 iOS Version.
• The System contains online Payment.

1.6 Tools:
1.6.1 Xcode:
Xcode is Apple's integrated development environment (IDE) for macOS, used to de-
velop software for macOS, iOS, iPadOS, watchOS, and tvOS. It was initially released
in late 2003; the latest stable release is version 13.2.1, released on December 17,
2021, and is available via the Mac App Store free of charge for macOS Monterey
users. Registered developers can download preview releases and prior versions of
the suite through the Apple Developer website. Xcode includes Command Line
Tools (CLT), which enable UNIX-style development via the Terminal app in macOS.
They can also be downloaded and installed without the GUI.

Xcode supports source code for the programming languages C, C++, Objective-C,
Objective-C++, Java, AppleScript, Python, Ruby, ResEdit (Rez), and Swift, with a vari-
ety of programming models, including but not limited to Cocoa, Carbon, and Java.
Third parties have added support for GNU Pascal,Free Pascal,Ada,C#, Go,Perland D.
Xcode can build fat binary (universal binary) files containing code for multiple archi-
tectures with the Mach-O executable format. These helped ease the transitions
from 32-bit PowerPC to 64-bit PowerPC, from PowerPC to Intel x86, from 32-bit to
64-bit Intel, and from x86 to Apple silicon by allowing developers to distribute a sin-
gle application to users and letting the operating system automatically choose the
appropriate architecture at runtime. Using the iOS SDK, tvOS SDK, and watchOS
SDK, Xcode can also be used to compile and debug applications for iOS, iPadOS,
tvOS, and watchOS.
Xcode includes the GUI tool Instruments, which runs atop a dynamic tracing frame-
work, DTrace, created by Sun Microsystems and released as part of OpenSolaris.
Xcode also integrates built-in support for source code management using the Git
version control system and protocol, allowing the user to create and clone Git
repositories (which can be hosted on source code repository hosting sites such as
GitHub, Bitbucket, and Perforce, or self-hosted using open-source software such as
GitLab), and to commit, push, and pull changes, all from within Xcode, automating
tasks that would traditionally be performed by using Git from the command line.

1.6.2 Backend :
The tech that makes your site work efficiently and properly is developed by a back-
end developer. These developers are specialists in the use of databases, scripts, APIs
and various other systems that all work together to make your website work.

a)Node.js:
Node.js is an open-source and cross-platform JavaScript runtime environment. It is
a popular tool for almost any kind of project!
Node.js runs the V8 JavaScript engine, the core of Google Chrome, outside of the
browser. This allows Node.js to be very performant.
A Node.js app runs in a single process, without creating a new thread for every re-
quest. Node.js provides a set of asynchronous I/O primitives in its standard library
that prevent JavaScript code from blocking and generally, libraries in Node.js are
written using non-blocking paradigms, making blocking behaviour the exception
rather than the norm.
When Node.js performs an I/O operation, like reading from the network, accessing
a database or the filesystem, instead of blocking the thread and wasting CPU cycles
waiting, Node.js will resume the operations when the response comes back.
This allows Node.js to handle thousands of concurrent connections with a single
server without introducing the burden of managing thread concurrency, which
could be a significant source of bugs.
Node.js has a unique advantage because millions of frontend developers that write
JavaScript for the browser are now able to write the server-side code in addition to
the client-side code without the need to learn a completely different language.
In Node.js the new ECMAScript standards can be used without problems, as you
don't have to wait for all your users to update their browsers - you are in charge of
deciding which ECMAScript version to use by changing the Node.js version, and you
can also enable specific experimental features by running Node.js with flags.

1.6.2 Notification :
In-app notifications are messages that app creators can send to users within their app.
They’re commonly used to direct users toward points of interest to boost usage, retention,
and lifetime value (LTV). Used properly, in-app notifications help users find what they’re
looking for and increase their satisfaction. Used improperly, they might encourage users to
stop using your app.

a)Firebase:
Firebase is a Backend-as-a-Service (Baas). It provides developers with a variety of
tools and services to help them develop quality apps, grow their user base, and
earn profit. It is built on Google’s infrastructure.
Firebase is categorised as a NoSQL database program, which stores data in JSON-
like documents.

a.a)Key Features
a.a.1. Authentication

It supports authentication using passwords, phone numbers, Google,


Facebook, Twitter, and more. The Firebase Authentication (SDK) can
be used to manually integrate one or more sign-in methods into an
app.

a.a.2. Realtime database

Data is synced across all clients in realtime and remains available


even when an app goes offline.

a.a.3. Hosting

Firebase Hosting provides fast hosting for a web app; content is


cached into content delivery networks worldwide.

a.a.4. Test lab

The application is tested on virtual and physical devices located in


Google’s data centres.

a.a.5. Notifications

Notifications can be sent with firebase with no additional coding.

Users can get started with firebase for free; more details can be
found on the official website.
Chapter 2

Existing System

2.1 Already Proposed Systems


Now we will look and investigate different already existing application to gain in common features
and also how other e-commerce System. Some of these applications already available on app
store are:

2.1.1 Cheetay - Food & Shopping:


Simply browse through food, grocery, Pharma, or fresh milk categories and fill up your cart with
the highest quality products. With a smooth checkout process and real time tracking of your rider,
our app makes delivery stress-free.

App Functionality:

• Multiple Payment Options - Your can choose from three payment options: Cash on Deliv-
ery, Cheetay Wallet, Credit/Debit Card
Figure 2.1: Cheetay - Food & Shopping

2.1.2 Byte Food Delivery :


Byte will change your mind about online food orders by giving their best food delivery service. If
you forget to bring something from a restaurant or don’t have anything to cook then, Byte Food
delivery app is available for you to order your delicious meal from your favorite local restaurant.
Byte is the best food delivery service in your area. If you are hungry for pizza, super cheese burger
then Byte Food delivery app is ready to offer your first bite. Byte food service will be at your
doorstep with a smile.

If you are craving for food or cheese burger, then place your order with Byte Food delivery to get
your order at your doorstep within few minutes. Byte will make your online food order process
easier. So download byte food delivery service to serve your guests with delicious food on time.
You can browse the list of restaurants in Lahore or you can check delicious food menus of nearby
restaurants in Lahore. Byte food delivery service offers favorite food within time. You can check
your estimated delivery time with the byte food delivery app and get your burger or pizza from the
best food restaurants in time.

App Functionality:

• Easy Order Processing


• Food order Tracking
Figure 2.1.2: Byte Food Delivery

2.1.3 Eat Mubarak - Food Delivery :


Eat Mubarak lets you search for and discover restaurants around you, to eat out at or order in
from. Browse through restaurant menus, photos, user reviews and ratings to decide where you
want to eat, and use the map feature to guide you there.

App Functionality:

• Search easily for eateries by location, category (e.g. Desserts, Breakfasts, Cafés), name (e.g. Daily
Dubai, The Burger Shack).
• Explore restaurants in your city, including the ones near your current location, and use search to
find the one that suits you best.
• View menus, pictures, phone numbers, directions, user reviews, and all the other information
you need to choose a restaurant for Dine Out or Food Delivery.
• Rate and review restaurants you've been to, and share photos of your foodie moments directly
from the app.
• Maintain an easy reference list of your favourites restaurants by bookmarking them.
Figure 2.1.3: Eat Mubarak - Food Delivery
Chapter 3

System Modeling

Software design is the process of defining software methods, function, object and overall structure
and instruction of your code so that the resulting functionality will satisfy user’s requirement.
There are many ways of designing software, all of which involve coming up with an initial design
and refining it necessary. Different developers prefer different amount of design up front or during
implementation phase. Generally, the overall design should be well thought out and reviewed be-
fore coding starts. It is easier to try out different designs up front and discover problems early in
the development phase then to make a major design change after much of the code has been
written. Software design should include a description of overall architecture. This is the big picture
of what is running and how all the parts will interact.

4.1 Use Case Diagram


A use case diagram at its simplest is a representation of user’s interaction with the system and de-
picting the specification of the use case. A use case diagram can show the different type of users of
a system and various ways that they interact with the system. This diagram typically used in com-
bination with textual use case and will often be accompanied by other type of diagrams as well.
UML use case diagram can be used to describe the functionality of a system in a horizontal way.
That is, rather than merely representing the details of individual features of your system, UCD can
be used to show all the available functionalities.

A use case diagram has following major elements.

• Actor that interacts with the system you are describing.


• The system itself
Figure 4.1: Use Case Diagram

4.2 Sequence Diagram


Sequence diagram describe interaction among classes in terms of an exchange of message over
time. Sequence diagram show how objects interacts in a given situation.an important characteris-
tic of a sequence diagram and ends at the bottom. A popular use for them is to document the dy-
namics in an object-oriented system. Diagram are created for collaboration that how objects inter-
act in various representative scenarios for that collaboration.

4.3 Flow Chart Dia-


gram
A flowchart is a diagram that de-
picts a process, system or computer
algorithm. They are widely used in
multiple fields to document, study,
plan, improve and communicate
often complex processes in clear,
easy-to-understand diagrams.
Flowcharts, sometimes spelled as
flow charts, use rectangles, ovals,

Figure 4.2: Sequence Diagram

diamonds and potentially numer-


ous other shapes to define the type
of step, along with connecting arrows to define flow and sequence. They can range from simple,
hand- drawn charts to comprehensive computer-drawn diagrams depicting multiple steps and
routes. If we consider all the various forms of flowcharts, they are one of the most common dia-
grams on the planet, used by both technical and non-technical people in numerous fields. Flow-
charts are sometimes called by more specialized names such as Process Flowchart, Process Map,
Functional Flowchart, Business Process Mapping, Business Process Modeling and Notation
(BPMN), or Process Flow Diagram (PFD). They are related to other popular diagrams, such as Data
Flow Diagrams (DFDs) and Unified Modeling Language (UML) Activity Diagrams.

Figure 4.3: Flow Chart Diagram

4.4 En-
tity Re-
la-
tion Di-
a-

gram (ERD)
An entity relationship diagram (ERD) shows the relationships of entity sets stored in a database.
An entity in this context is a component of data. In other words, ER diagrams illustrate the logical
structure of databases. At first glance an entity relationship diagram looks very much like a flow-
chart. It is the specialized symbols, and the meanings of those symbols, that make it unique.
When documenting a system or process, looking at the system in multiple ways increases the un-
derstanding of that system. ERD diagrams are commonly used in conjunction with a data flow dia-
gram to display the contents of a data store. They help us to visualize how data is connected in a
general way and are particularly useful for constructing a relational database.

Figure 4.4: Entity Relationship Diagram (ERD)

You might also like