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

EShop Project Report

eShop is an android application specially tailored to suit the needs of sellers and customers. It is an all in one bundle which lets vendors manage their small business online. It has custom-built features which makes ordering, transaction, and delivery more convenient.

Uploaded by

Teddy Tassew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views

EShop Project Report

eShop is an android application specially tailored to suit the needs of sellers and customers. It is an all in one bundle which lets vendors manage their small business online. It has custom-built features which makes ordering, transaction, and delivery more convenient.

Uploaded by

Teddy Tassew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 31

eShop

Project Report

8/5/2020
SOFTWARE ENGINEERING

TEWODROS
MEGABIAW
17511111120
2
REPORT TITLE
Contents
1. Introduction ……………………………………………………………………………………………… 3
2. Technology…………………………………………………………………………………………………………………… 4

3. Development…………………………………………………………………………………………………………………. 5

4. Requirement Analysis……………………………………………………………………………………………………. 6

5. Use Case ………………………………………………………………………………………………………………………. 7

6. App Design…………………………………………………………………………………………………………………… 9

7. Project Setup…………………………………………………………………………………………………………………. 20

8. Database ……………………………………………………………………………………………………………………… 25

3
REPORT TITLE
1. Introduction

eShop is an android application specially tailored to suit the


needs of sellers and customers. It is an all in one bundle
which lets vendors manage their small business online. It
has custom-built features which makes ordering,
transaction, and delivery more convenient.

This application can also be used for trading second hand


goods online if that is the intention of sellers. It can be
applied in school settings where students on campus can
exchange goods fairly easily.

Based on the campus market


capacity, the campus market has
great potential of development.
Students are
allowed to sell and buy used items
from each other. The increasing
payment of supplement on
campus is a
great pressure to the students.
Second hand items are much
cheaper compared with the items
from the
markets. Students are allowed to
trade their own old items for
money. It is a useful way to deal
with items
that no longer server for one
person, but are still useful to
others, such as textbooks. It is
also beneficial to
the environment by reducing the
waste. The e-commerce platforms
are popular now, and widely used
by
4
REPORT TITLE
students . Therefore, this project
is feasible to run.

2. Technology

Android Studio

Android Studio is the official Integrated Development


Environment (IDE) for Android app development based on
the IntelliJ IDEA. On top of IntelliJ's powerful code editor and
developer tools, Android Studio offers even more features
that enhance productivity when building android apps.

Android studio has several advantages; especially compares


with eclipse. First, the workspace distribution of Android
Studio is more natural than Eclipse’s workspace; a platform
that usually gets bad
reviews for its design and interface. Second, as suspected,
after Google introduced Android Studio, the company
started to focus their support on this platform. Eventually,
the support to some third parties tools and platforms started
to decrease until they definitely stopped being used.

Firebase Database

The Firebase Realtime Database is a cloud-hosted database.


Data is stored as JSON and synchronized in realtime to every
connected client. When you build cross-platform apps with
our iOS, Android, and JavaScript SDKs, all of your clients
share one Realtime Database instance and automatically
receive updates with the newest data.

The Firebase Realtime Database lets you build rich,


collaborative applications by allowing secure access to the
database directly from client-side code. Data is persisted
5
REPORT TITLE
locally, and even while offline, real time events continue to
fire, giving the end user a responsive experience.

3. Development Method

SDLC
Software development life cycle model actually reflects the
development of software engineering theory. To be able to control
the software development process, software development is divided
into several different stages, plus rigorous review between stages.
The process used in the development of this application is the
waterfall model.

Software Testing

White-box testing (also known as clear box testing, glass box testing,
and transparent box testing and structural testing) tests internal
structures or workings of a program, as opposed to the functionality
exposed to the end-user. In white-box testing an internal perspective
of the system, as well as programming skills, are used to design test
cases. Since the research involves extensive coding, white-box test
was chosen.
Feasibility Analysis

Based on the campus market capacity, the campus market has great
potential of development. Students are allowed to sell and buy used
items from each other. The increasing payment of supplement on
campus is a great pressure to the students. Second hand items are
much cheaper compared with the items from the markets. Students
are allowed to trade their own old items for money. It is a useful way
to deal with items that no longer server for one person, but are still
6
REPORT TITLE
useful to others, such as textbooks. It is also beneficial to the
environment by reducing the waste. The e-commerce platforms are
popular now, and widely used by students . Therefore, this project is
feasible to run.

4. Requirement Analysis

How to save money and resources is a problem faced by most of


students with the old items. The application is very useful since it
only targets on the people living and studying in the school .

Therefore, there are a few questions to think about before starting


coding.

Question one: “Whether is this application necessary or


not?”

This application is necessary given that it creates convenience for all


the parties involved in the interaction. Sellers can add their products
and buyers can make a purchase for products that are available on
the stock while the admin controls the shipment and flow of orders.

Question Two: “How to make it easier to use by students?”

Since there is no such an application in the marker, every user


should be a starter. Making it concise and user friendly is a goal to
achieve. The fundamental functions that are needed can be learned
by doing researches on popular second-hand trading platforms.

Question three: “How to minimize potential frauds or threats


as much as possible?”

Trying to avoid every possibility of conflicts or frauds is one of the


priorities. In this case, it is an important link to make sure all the
items and users qualified an important issue.

Question four:” What kind of functions is needed in an


android application?”

It is easier to control the items and users from the backstage and
hence makes the market safe and convenient for users. Therefore,
7
REPORT TITLE
there should be a backstage for supervisor and a front stage for
users in the application.

5. Use Case

Actors

Admin

Admin is an actor who has complete oversight of both the customer


and seller.
It might be a person having a managerial position in the shop. It has
certain privileges which are only unique to it and is in charge of
monitoring the activities for the parties involved in the transaction.

Customer

Customer is a person who wants to use the services provided by a


vendor.
Customers are allowed to look for products, make orders, add to cart
and finalize purchases. They will have the product delivered to their
location and pay with cash on delivery. Customers are not allowed to
make more purchases until their previous orders are shipped first.
Customers can easily create an account to get started. Once the
account is created they can login to the home page where they
benefit from the services. They can also manage their account fairly
easily.

Seller

Sellers are vendors who own a real shop already and want the
convenience of an online shop to connect to their customers. The
app allows multiple vendors to create an account and add their
products for display to the customer. The product is available for
purchase after they are confirmed by the admin.

8
REPORT TITLE
9
REPORT TITLE
6. App Design

The main color is pink since it usually made people feel comfortable.
A user-friendly and beautiful interface will bring a comfortable visual
enjoyment, narrow the distance between people and products, and
create a selling point for the product. Therefore the interface will be
mainly designed in whole patches
in order to make it clear.

How application works will be demonstrated from the perspectives of


the user, administrator and Seller.

User Functionality

Create Account Page

10
REPORT TITLE
Login Page

11
REPORT TITLE
Home Page
The user can enter the home page after
successfully logging in. In this page the
customer can see list of products available on
the stock from different sellers. If the user
selects a specific product they will be directed
to the product details page. Here the user can
also find a navigation which will provide access
to other functionalities. The user can select cart
where they will be directed to the cart page to
see items on cart. If the user selects search
they will be directed to the search page. If they
select settings they will be directed to the
search page. Finally they select logout to leave
Product
Details Page

12
REPORT TITLE
Cart Page

13
REPORT TITLE
Finalize Order Page

The user will enter this page if they select order


from the cart page. Here the user will shipment
details such as their name, phone number,
home address and city. Then they can click on
confirm to finalize the order. Here if the form is
empty the app will show the toast message
asking them to provide their info. But if every
thing ok then it will show the toast message
your order has been placed successfully.

Settings Page
The user will enter this page if they select
Settings from user home page. When the
14 activity starts the edit texts are already
populated
REPORT TITLE by the user info. They will also see
their profile image if they have uploaded one
already. If the user clicks close the activity will
Set Security Questions Page

The user will enter this page if they select the


set security questions button from the settings
page. Here the user will just answer the
questions on the this page to get access to their
account in case they forgot their password.
Finally when they finish they will click on the set
button.

Search Page

The user will enter this page if they select


Search from user home page. This also the list
of all products as the home page at first. But it
also contains a search bar at the top where the
user can just enter the product name to filter
15 through the list of products. When they click on
search
REPORT TITLEthey will see only the products they are
looking for.
Admin Functionality

Admin Login Page

This page can be reached when the user clicks


on go to admin from the main login page. This
is similar to the previous login page but it is
used to authenticate admin only. The admin
will enter their phone number and password
and click on the login admin button to sign in.
If the admin left the edit texts empty the app
will prompt to enter the phone number and
password.
If the phone number or password are wrong it
will also prompt the user that phone number or
password is wrong. Finally if the admin
authentication is successful it will prompt

Admin Home Page

The admin will enter this page once success


fully signed in. In this page there are four
buttons three of which if clicked will direct the
admin to another page. If the admin clicks on
maintain products page they will be directed
to the maintain products activity. If they
clicked on Check new orders button they will
be directed to the check new orders activity.
And if they click Approve new product they
16
will be directed to the approve new products
REPORT TITLE
page. Finally if they click on logout they will
exit the page.
Admin List Of Products Page

This page will be reached when the admin


clicks on maintain products from the home
page. Here the admin can see the list of
products in the cart list of the user. When the
admin clicks on a specific product they will be
directed to the maintain product page.

Admin Manage Product Page

This page will be reached when the admin clicks


on specific product from list of products page.
When the admin enters this page they can see
the product details already populated on the
edit text. Here they can make the changes they
want and click on apply changes when they
finish. When the button is clicked if any of the
edit texts are empty it will prompt the user to
enter the info. If everything goes according to
plan they will see changes applied successfully
message. Admin Check
New Orders Page
17
REPORT TITLE
This page will be reached when the admin clicks

Admin Approve New Products Page

This page will be reached when the admin clicks


on approve new products button from the home
page. Here the admin will see a list of products
uploaded by the seller and are waiting for
approval to be displayed for the user. If the
admin clicks on a specific product an alert
dialog will pop up asking them whether to
approve this product. Here the admin can
choose yes or no.

Seller Functionality

Seller Login Page

This page will be reached when the seller clicks


18 on want to become a seller link from the home
page.
REPORT TITLEIn this page the seller can enter their
information and click on register. If the all the
Seller Login Page

This page will be reached when the seller clicks


on already have an account button from the
registration page. Here the seller will enter their
email and password and click on the login
button. If the fields are empty it will prompt the
user to enter their info. If all went well they will
see the message logged in successfully and be
directed to the seller home page.

Seller Home Page

This page will be reached when the seller is


logged in successfully. In this page the user can
navigate through two pages using a bottom
navigation view. If the user clicks on home
button they will see a list of unverified products.
19
The user can see the status of the product
showing
REPORT TITLE whether it is approved or not. If the
seller clicks on a specific product they will see
an alert dialog asking them if they want to
Seller Category Page

This page will be reached when the seller clicks


on add button on the bottom navigation view of
the home page. Here the seller can click on any
category and will be directed to the add new
product page in order to add product based on
that category.

Seller Add New Product Page

This page will be reached when the seller clicks


on a specific category. Here the seller can
upload an image of the product and fill out the
product details. Finally when they finish they
click on the add product button. If any of the
fields are empty the app will prompt the user to
fill out the form. Finally if all is successful it will
show product added successfully.

20
REPORT TITLE
7. Project Set-up

The project is developed using android studio under the


name e-commerce. The first thing to do is to sign the app to
the on fire-base database so that it can update the nodes in
real time. In order to do that we need to add the google-
services.json file in our project structure which in all the
necessary info including the hash and api key to
communicate with the database.

The second step is to include all the app dependencies in


the build.gradle file. Here we have to make all the firebase
components are up to date.

21
REPORT TITLE
The third is to set the color for the app theme. Here I used
pink and dark pink color. This modification is done on
colors.xml file under the values directory.

22
REPORT TITLE
The drawable folder contains all the images I have used for
this project.

23
REPORT TITLE
All the files for the design of the app pages are under the
layout directory. The names for these files are given
according their purpose so that they can be easily identified.

All the java files are grouped under different modules


depending on their use. Most of them are activities which
hold the logic for interaction with the app. There are three
basic modules called Admin, Buyer and Seller which hold
activities that are related to the roles. The rest of the
modules include Interface which holds interface classes,
Model which holds beans to represent the business entities
24
REPORT TITLE
and attributes, Prevalent holds a class that is used to store
temporary data to remember the user and finally View
Holder which contains all the view holder class for the
recycler views.

25
REPORT TITLE
8. Database

Since I used fire base database to hold the data it will be


generated automatically when the user interacts with the
app. Fire base structures the data using nodes and sub
nodes instead of tables and attributes. The data will be
entered in terms of key value pairs. But we can generalize
the overall structure of the database. The databases name is
eCommerce as depicted on the picture. It contains 6 major
node which hold the data for the admin, cart list, orders,
products, sellers and users.

26
REPORT TITLE
For the Users node each user is identified by a unique phone
number. This is done by creating a new child node under the
Users node. The rest information is add as key value pairs
within this sub node.

For the Admins node it uses the same principle as users in


which each admin is identified by the their phone number.

For the Seller’s node we first user fire base authentication to


authenticate every seller using their email and password.
The fire base authentication will generate a hash key to
identify each user uniquely. This ensures the security
feature of the app. After that we will add this unique key as
sub node under the Seller’s node for every seller. Then the
rest information is added to this sub node as key value pairs.
27
REPORT TITLE
For the Product’s node each product node is identified by
the date and time it was added by the seller. Then the
product info together with the information for the seller who
uploaded it is added to this sub node.

28
REPORT TITLE
For the Orders node we also use the phone number of the
user who placed the order as a unique identifier for each
specific order. Then the rest of the order info is added as key
value pair to the sub node.

Finally the Cart list node contains to sub node Admin View
and User View. The reason I created this is because the cart
29
REPORT TITLE
list will be viewed for both the admin and the user so each of
them will have access independently in the application. Each
of these sub nodes further have three sub nodes such as the
phone number of the user who placed the order, the name
products and the date and time where the cart item was
added to the cart list. The unique identifier for each cart
item in this case is the date and time. Finally we add the
rest of the information about the cart item as key value pairs
under the child node date and time.

30
REPORT TITLE
31
REPORT TITLE

You might also like