Thesis FINAL V2
Thesis FINAL V2
net/publication/353571908
CITATION READS
1 1,761
4 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Nethma Sandamini on 30 July 2021.
FINAL THESIS
Group Details
Group Number Student Number Student Name
D/BCE/19/0010 AHBKY GAWESHA
D/BCE/19/0007 CSW RAJAPAKSHA
7 D/BCE/19/0008 JD MOTHA
D/BSE/19/0006 AVN SANDAMINI
C/BCE/18/5768 TACP PERERA
Project Details
Project Title Waste Management System
Supervisor DMR Kulasekara
Co-Supervisor WMKS Illmini
1
Table of Contents
Abbreviation .................................................................................................................................................10
5
References .....................................................................................................................................................99
6
List of Figures
Figure 3.1: Residential area .......................................................................................................................... 24
Figure 3.2: Current disposal method ............................................................................................................. 24
Figure 3.3: On-request pickup option ........................................................................................................... 25
Figure 3.4: Impression on a mobile application ............................................................................................ 25
Figure 3.5: Sequence diagram....................................................................................................................... 30
Figure 3.6: Process of getting actions to complain ....................................................................................... 31
Figure 3.7: Process of sending notifications ................................................................................................. 31
Figure 3.8: Process of disabling the acount .................................................................................................. 32
Figure 3.9: Context diagram ......................................................................................................................... 32
Figure 3.10: Use casee diagram .................................................................................................................... 33
Figure 4.1: Overall system architecture ........................................................................................................ 36
Figure 4.2: Module architecture .................................................................................................................... 38
Figure 4.3: User registration module ............................................................................................................ 39
Figure 4.4: Edit user details .......................................................................................................................... 40
Figure 4.5: Deactivate by admin ................................................................................................................... 41
Figure 4.6: User can deactivate the account ................................................................................................. 42
Figure 4.7: Make a request............................................................................................................................ 43
Figure 4.8: Find the nearest driver ................................................................................................................ 44
Figure 4.9: Conceptual data design ............................................................................................................... 45
Figure 4.10: Conceptual database relationship diagram ............................................................................... 49
Figure 4.11: Interface of splash screen ......................................................................................................... 50
Figure 4.12: Interface of the main screen ..................................................................................................... 51
Figure 4.13: Interface of the user login ......................................................................................................... 52
Figure 4.14: Interface of the driver login ..................................................................................................... 53
Figure 4.15: Interface of the user map .......................................................................................................... 54
Figure 4.16: Interface of the driver map ....................................................................................................... 55
Figure 4.17: Interface of the trash selection .................................................................................................. 56
Figure 4.18: Interface of the pickup material information ............................................................................ 57
Figure 4.19: Interface of the request finalization .......................................................................................... 58
Figure 4.20: Interface of the navigation bar .................................................................................................. 59
Figure 4.21: Interface of the pickup details .................................................................................................. 60
Figure 4.22: Interface of the request selection .............................................................................................. 61
Figure 4.23: Interface of the scheduling ....................................................................................................... 62
Figure 4.24: Interface of the home page ....................................................................................................... 63
Figure 4.25: Interface of the home page ....................................................................................................... 63
7
Figure 4.26: Interface of the home page ....................................................................................................... 64
Figure 4.27: Interface of the home page ....................................................................................................... 64
Figure 4.28: Interface of the home page ....................................................................................................... 65
Figure 4.29: Interface of the home page ....................................................................................................... 65
Figure 4.30: Interface of the store ................................................................................................................. 66
Figure 4.31: Interface of the store ................................................................................................................. 66
Figure 4.32: Interface of the store ................................................................................................................. 67
Figure 4.33: Interface of the cart................................................................................................................... 67
Figure 4.34: Interface of the billing section .................................................................................................. 68
Figure 4.35: Interface of the blog ................................................................................................................. 68
Figure 4.36: Interface of the admin login ..................................................................................................... 69
Figure 4.37: Interface of the admin panel ..................................................................................................... 69
Figure 4.38: Interface of the order panel ...................................................................................................... 70
Figure 4.39: Interface of the product panel ................................................................................................... 70
Figure 4.40: Interface of the product panel ................................................................................................... 71
Figure 4.41: Interface of the product panel ................................................................................................... 71
Figure 4.42: Interface of the confirmation email .......................................................................................... 72
Figure 5.1: System development order ......................................................................................................... 79
Figure 8.1: Appendix A - Questionnaire..................................................................................................... 100
Figure 8.2: Appendix A - Questionnaire..................................................................................................... 101
Figure 8.3: Appendix A - Questionnaire..................................................................................................... 102
Figure 8.4: Appendix B - Interview ............................................................................................................ 103
Figure 8.5: Appendix C – Android application test interface ..................................................................... 104
Figure 8.6: Appendix C – Android application tst interface ....................................................................... 105
Figure 8.7: Appendix D – Desktop application test interface ..................................................................... 105
Figure 8.8: Appendix D – Desktop application test interface ..................................................................... 105
Figure 8.9: Appendix D – Desktop application test interface ..................................................................... 105
8
List of Tables
9
Abbreviation
TERM DEFINITION
User Someone who interacts with the mobile
phone application
Admin System administrator who is given
specific permission for managing and
controlling the system
Collector Someone who interacts with the user
and collect the garbage by visiting the
user
Web- store Online shopping is a form of electronic
commerce which allows consumers to
directly buy goods or services from a
seller over the Internet using
a web browser
Mobile application A mobile application, also referred to as
a mobile app or simply an app, is a
computer program or
software application designed to run on
a mobile device such as a phone, tablet,
or watch.
Platform A platform is a group of technologies
that are used as a base upon which other
applications, processes or technologies
are developed.
Class diagram A Diagram that describes the structure
of a system by showing the system's
classes, their attributes, operations, and
the relationships among objects.
GPS Global Positioning System
RTS Recycle Track System
ER Entity Relationship
10
Chapter 01: Introduction and Background
Topics Cover Through the Chapter
1.1 Introduction
1.2 Introduction to the project
1.3 Problem Domain
1.3.1 Existing problems
1.4 Significance of the project
1.5 Benefits of the System
1.6 Aim
1.7 Objectives
1.8 Scope of the project
1.8.1 Limitations
1.9 Summary
11
1.1 Introduction
This chapter will discuss the details about the overall background for the proposed system of
“Waste Management System”. At beginning, introduction to the project will be given. Then
the background and motivation for the project and identified problem statement will be discus.
The aim and objective, scope and limitations of the project will be discussed further in this
chapter.
12
1.3.1 Existing problems
Following are the problems related to the existing manual process that people used to dispose
their garbage with the current process of collecting garbage by municipal councils.
• The garbage is collected on certain days of the week where the time they arrive in
inconvenient.
• With the remarkably busy lifestyle of the people the people are unable to handover
their garbage to the collectors from the municipal councils.
• The garbage collected by the municipal councils are ditched to landfills without a
proper way of recycling which effect the nature as well as the human lifestyle.
• The recycling companies in the country does not have a proper market to sell their
recycled products.
• Save time
As users can handover their garbage at a convenient time and a place the users get the
chance to save their time. When the municipal council collect the garbage, the users
will have to wait till they arrive under the pressure of their busy schedules.
• Create job opportunities
As this platform create a connection between users and recycling companies the knot
of connection will be the collectors. A new job space will be introduced for collectors.
• Create a good market for recycling companies
As the recycling companies get the chance to sell their recycled items and products that
are collected in our website a new chance to grant customers will be created.
1.6 Aim
We are in a mission to recycle trash and develop to find more ecofriendly solutions to reduce
the trash pulled for landfills.
13
1.7 Objectives
With the aim of developing the website and the app, our project has identified following
objectives.
1.8.1 Limitations
The main limitations that found were scope development in the project. This project scope
involves the specific goals, deliverables and task that defined in earlier topics. There were
some project boundaries to concerned. Time scheduling were the most demandable limitation
that found as a challenging factor. With the given period, it would be achieving the selected
objectives to the desirable level. There for decided to implement systems for only for a limited
area first.
1.9 Summary
This chapter concluded the overall idea of the project with the brief introduction given to the
proposed project. Significance of the system is discussed as a solution with respect to the
existing problems in the problem domain.
14
Chapter 02: Literature Review
Topics Cover Through the Chapter
2.1 Introduction
2.2 Introduction to Eco-cycle online mobile application and web application
2.3 Technologies Incur with the Existing Systems
2.4 Pros and Cons in Online Application
2.5 Similar Systems
2.5.1 Encashea
2.5.2 Pom Pom Trash to Cash
2.5.3 Recycle Track Systems (RTS)
2.5.4 Rubicon Global
2.5.5 TerraCycle
2.6 Summary
15
2.1 Introduction
In the previous chapter we gave the basic idea about our proposed system and the problem it
would try to resolve. In this chapter we will be critically reviewing existing systems that may
to some extent help reduce the impact of our outlined problems.
The purpose of this study is to explore about the online android application and the web
application, that helps the people to get rid of their garbage and recycling companies to build a
better customer portal. There are some existing systems like our mobile platform all over the
world nationally and internationally. The study seeks to answer the research questions, What
are the technologies incur with the existing systems, What are the advantages of the Eco-cycle
mobile application and web application, What are the disadvantages of the Eco-cycle mobile
application web application, What are the features in the mobile application and web
application and What are the technologies have used in the platform and etc. The reasons to
use this mobile application and web application is also discussing in here.
Our mobile application and the website will be creating to a platform to collect the recycling
agencies with the community to reduce the garbage collected on landfills and reduce the
damage done by the garbage (health care problems, destroying biodiversity etc.). It is easy to
operate the app as when they are connected they will be located in the app and a collector from
the management will be send to a convenient place at a convenient time to collect the garbage
according to the type and then the platform we have created will connect with the recycling
companies giving them the opportunity to sell their recycled items in our website. Here there
will be mainly three parts as users, drivers and recycling companies in the process. Users will
be asked to log in if there is no current account to sign up with entering the details (name,
phone number etc.). Drivers will also have to get registered with their personal details and
vehicles. The platform will next connect with the recycling companies which are registered.
This process will help to make the world a better place to live with a greener world.
Most of the online applications related to this purpose are web-based applications.
HTML, PHP, and JavaScript are the mostly using technologies for the web applications.
WordPress is another way to create a web site without coding. Databases are maintaining by
using MySQL or firebase.
HTML is the one of the one you want to learn at first. If you want to better understand how
HTML works, you also need to know what CSS is. CSS stands for Cascading Style Sheet and
it describes how HTML elements are to be displayed on the screen.
16
Angular is one of the latest technologies designed specifically for developing dynamic web
applications. Angular helps to create front-end based applications without needing to use other
frameworks or plugins.
Ruby on Rails is a server-side website technology that makes app development easier.
JavaScript, Coffee Script, Python, Ruby, PHP, Go are some languages use to develop a
website. JavaScript is one of the core web technology. Ruby is user-friendly language and
easy to use.
Android is one of the recently launched mobile application app development technologies,
which is increasingly becoming popular among mobile app developers. It is essentially a set of
Android software components, tools, and best practices, making it easier for developers to
build high quality applications.
Kotlin is an astatically typed programming language which is one among the revolutionary
mobile app development technologies.
Flutter is an open source mobile app development SDK used to craft high quality interfaces
foe Android and iOS platforms. This helps developers build native interfaces in minutes.
Firebase is a comprehensive set of different mobile app development technologies that help
developers build visually appealing and feature-rich mobile apps. Supporting both Android
and firebase are considered one of the best mobile development technologies for building
apps.
There are so many benefits of using online platform rater than others. As I have described the
advantages of using online application in the introduction of the literature review. Online
platform is user friendly because they can easily catch the things inside the application and
process is so fast. The aim of creating the application is to help to create a customer base to
recycling companies and the users to get rid of their garbage in a proper manner. When we are
focusing to the security process, the details of the user are well protected in this mobile
application. No one may not trap in difficulty by using the online application. So, Online
application provides advantages rather than disadvantages.
The mobile application is constrained by the system interface to the GPS navigation system
within the mobile phone. Since there are multiple system and multiple GPS manufacturers, the
interface will most likely not be the same for every one of them. Also, there may be a
difference between what navigation features each of them provides. The Internet connection is
also a constraint for the application. Since the application fetches data from the database over
the Internet, it is crucial that there is an Internet connection for the application to function.
Both the web portal and the mobile application will be constrained by the capacity of the
17
database. Since the database is shared between both application it may be forced to queue
incoming requests and therefor increase the time it takes to fetch data.
2.5.1 EnCashea
Pom Pom is your modern-day kabadiwala, making sure you get the right returns for your
recyclables. Founded by Deepak Sethi and Kishore K Thakur who, having worked with the
successful Delhi Waste Management, started Pom Pom in South Delhi, looking to solve the
disposal problems of 1,000,000 individuals, who generate recyclable waste every single day.
Pom Pom segregates this waste into different categories and supplies them to industries that
make recycled products. Pom Pom uses electronic weighing scales, so you know you won’t
get cheated. There are no delays, because the Pom Pom team visits, weighs and pays in cash,
right there, right then. You can set up a time for a visit according to your convenience and
book them through the app.
Recycle Track Systems (RTS) is an environmentally focused waste and recycling management
company. RTS uses a software platform and a proprietary tracking system to provide hauling
services for businesses. A patent is pending. RTS tracks materials as they travel to recycling or
composting facilities and provides companies with reports that show how much material was
recycled or composted. The customer experience has been compared the app-based car
service, Uber.
18
2.5.5 TerraCycle
2.6 Summary
Literature review of the online mobile application and web application focuses on features the
mobile application and web application, Existing systems like the application, benefits of
using this mobile application and web application and disadvantages of the developed
application. This briefly describes one by one to have a clear idea about Eco-cycle mobile
application and web application.
19
Chapter 03: System Analysis
Topics Cover Through the Chapter
3.1 Introduction
3.2 Overview to the Project
3.2.1 Problem Statement
3.3 Data Collection Protocols
3.3.1 Data Collection Protocols Used
3.3.1.1 Interviews
3.3.1.2 Questionnaires
3.3.2 Requirement Analysis
3.3.2.1 Analysis of Data Gathered: Interviews
3.3.2.2 Analysis of Data Gathered: Questionnaires
3.3.3 Productivity and the Accuracy of the data collection protocols
3.3.3.1 Interviews
3.4 Analyzing the Current Systems
3.4.1 Manual System
3.4.2 Current Local and Home Service Platforms
3.4.3 Constraints Identified in the Development
3.5 Requirement Specification for the proposed Application
3.5.1 Functional Requirement Specification
3.5.2 Non-Functional Requirement Specification
3.5.3 Technical Requirement Specification
3.5.4 Usability Requirement Specification
3.5.5 Modules of the proposes mobile application and web application
3.5.6 Models for the proposed Application
3.5.6.1 Sequence Diagram
3.5.6.2 Data Flow Diagram
3.5.6.3 Context Diagram
3.5.6.4 Use Case Diagram
3.6 Summery
20
3.1 Introduction
This topic focuses on analysis of the whole online mobile application. How data was collected to
gather the knowledge is described in this section in a descriptive way. The complications faced to
gather the collection is described in a brief method. Current online mobile application and web
applications are described in a detailed process flow and the problems and limitations of the
applications are also specified in this chapter. The modules of the proposed system are identified
through the functional and non-functional requirements identified in analyzing. Technical
requirements and usability requirements are specified in system analysis. Sequence diagrams, data
flow diagrams and use case diagrams described in models for the proposed application.
The mobile application users can only use the application to request for a garbage collector. For
this the user must be registered to the system to gain the details such as the address which is
important. The user also must enter the types of disposal item to make the work easier and to
select the recycling company to be transported the collected gods.
21
The administrators also only interact with the administration portal. They are managing the overall
system so there is no incorrect information within it. The administrator can manage the
information for each collector as well as the options for both the mobile application users and the
recycling companies.
3.3.1.1 Interviews
Clients and the recycling companies are the two parties which are connected using our mobile
application.
We took two kinds of interviews with them. Some selected people in the recycling industry are the
interviewees in our recycling side interview. Some small, easy, and relevant questions were asked
from them to clarify the questions. Some friends of us were the interviewees in user bases
interview. Those two interviews help us to simplify our process and get an idea about our process.
Interviewer has only asked less than 5 questions with the two parties. Some were short, answered
questions, and some were to describe in brief. They have faced that in a friendly manner and there
respond about our online application was positive.
3.3.1.2 Questionnaires
Questionnaires can be used to get more information from various kind of people in our system we
have collectors who willing to collect garbage and recycling companies who looking for a good
customer portal and users who are willing to get rid of their stingy garbage. They both will be our
customers. When we are going to develop a software, it is important to have a clear idea about the
customer’s requirements. And what are the problems they had faced when they use current
method. It is important gather information by their side. In case we made some questionnaires for
our customers and users to get their ideas and their suggestions.
22
We have created a google form and share that with our contacts. So, there are different kind of
people. When we observed there filled forms, we got a clear idea about our weaknesses, places to
develop, new ideas and how to solve currently having problems.
Questionnaires were included with different kinds of questions to cover both sections. It was more
efficient method to collect the ideas.
Questionnaire was based on small amount of questions and they were created to easily understand
by the people who are filling the sheet. That whole process got the maximum benefit with
development with the analyzing of data gathered by questionnaires.
23
3.3.2.2 Analysis of Data Gathered: Questionnaires
Questionnaire was distributed with known people of us and good form was created to get the
details. So, different kinds of ideas were among them.
We got ideas when we classify the questions each by each. The details gathered by the
questionnaire summarized in various kinds of graphs to get the idea quickly.
Question 01
Residential Area?
Blue represent the urban area while red represent the rural area.
Figure 3.1: Residential area (Source Author)
According to the area a person lives the garbage collecting and disposal methods differ. In urban
areas collecting garbage is done by municipal council while in rural areas garbage is disposed and
homes. Therefore, having the opinion on both rural and urban people are important.
Question 02
Current disposal method?
Question 04
Would you like to have a Mobile Application to dispose your garbage?
24
Blue represent the percentage that like to have a mobile application and red represent the rest who
does not like for a mobile application.
Figure 3.4: Impression on a mobile application (Source Author)
Giving a rough idea on the system to be implemented is important as there are people who doesn’t
have the knowledge to use an app and some without the resources.
3.3.3.1 Interviews
Interviews are the main way to collect the details of both parties. We can gather so much
information from that because it is in a live environment.
Interviewed by A.V.N.Sandamini
C.S.W.Rajapaksha
J.D.Motha
A.H.B.K.Y.Gawesha
Summary outcome • Use PET bottles as the main material collected and recycled.
25
Interview date 07.02.2020
Interviewed by A.H.B.K.Y.Gawesha
Solution Identified
26
• The interviewer is a friendly person who can describe the questions and who can get
the most appropriate answer from the person.
27
• Lack of accurate data sources.
• Security
• Data integrity
• Reliability
• Availability
• Maintainability
• Accessibility
• Portability
• Android
• SQL Database
• Java
• GPS
29
Figure 3.5: Sequence diagram (Source Author)
30
Figure 3.7: Process of sending notifications (Source Author)
31
Figure 3.9: Context Diagram (Source Author)
32
Figure 3.10: Use case Diagram (Source Author)
3.7 Summary
Analysis document gives overall idea about the following four major phases. The document
focus about the,
1. Data gathering processes
2. Analyze the gathered data
3. Detailed description of the current system
4. Detailed description of the proposed system
Initial phase describes about the data gathering process done throughout the requirement
gathering. Techniques used for data gathering are discussed with the reason for the selection of
that technology to gather requirements.
Data which is gathered through the data gathering are analyzed. Responses and the data
acquired from the clients were carefully analyzed so that the requirements can be clearly
outlined and identifies. The analyzed data is represented in graphical format so that the
decisions can be clearly taken.
33
Detailed description regarding the procedures and functionality of the current system is
mentioned. Procedures and the functionalities were represented using flow charts and activity
diagrams to enhance the flow of events in the current system.
Final phase of the chapter describes about functional, non-functional, and technical
requirements of the developing system. And shows how the proposed system work and
database design using Sequence diagrams, data flow diagrams, class diagrams and use cases.
34
Chapter 04: System Design
Topics Cover Through the Chapter
4.1 Introduction
4.2 Overall system architecture
4.2.1 Application Layer
4.2.2 Data Layer
4.2.3 Presentation Layer
4.3 Software architecture
4.3.1 Module Architecture of the proposed system
4.4 Date Design
4.4.1 Conceptual Data Design of the Proposed System
4.4.2 Mapping the Entities Identified
4.5 Data Type Design for the Database
4.6 Database Relationship Diagram of the Database
4.7 Interface design
4.7.1 User (Clients and collectors) mobile application interfaces
4.7.1.1 Interface of Splash Screen
4.7.1.2 Main interface
4.7.1.3 Interface of user login
4.7.1.4 Interface of driver login
4.7.1.5 Interface of user map
4.7.1.6 Interface of driver map
4.7.1.7 Interface of trash selection
4.7.1.8 Interface of pickup material information
4.7.1.9 Interface of finalization
4.7.1.10 Interface of navigation bar
4.7.1.11 Interface of pickup details
4.7.1.12 Interface of request selection
4.7.1.13 Interface of scheduling
4.7.2 User (Client and admin) web application Interface
4.7.2.1 Interface of Home page
4.7.2.2 Interface of Store
4.7.2.3 Interface of Cart
4.7.2.4 Interface of Billing
4.7.2.5 Interface of the Blog
4.7.3 Backend (Admin) web application Interface
4.7.3.1 Interface of Admin login
4.7.3.2 Interface of Admin panel
4.7.3.3 Interface of Orders page
4.7.3.4 Interface of Products page
4.7.3.5 Interface of the confirmation E-mail
4.8 Design Revisions
4.9 Summary
35
4.1 Introduction
This chapter is the design report for the proposed system. This contains details under 4 main
chapters namely ‘Overall System Architecture, Software Architecture, Data Design and Interface
Design’.
First chapter is about the overall system architecture. We describe about 3 layers in this chapter.
Presentation layer, Application layer and data layer are the main topics describe in this chapter.
We describe about those with the aid of diagrams to have a clear idea about the process.
Architectural design defines the overall structure of the system. It forms a solution before moving
on to the detail design.
Software architecture is another chapter in the design report. This is based on modularized
approach where the software is divided into parts. We describe about the software involvement by
using diagrams in this chapter. Whole software process in our process is defined in this category.
Data design is the third chapter in the design report. This section of the document represents the
conceptual data design of the system, the process of converting the diagrams into tables and the
database relationship diagram. The tables of the database are also started with their attributes and
data types.
Final chapter is about the interface design. Interface is the only thing user can see after the project
is finished. So, Interfaces want to be attractive and user friendly. All the interfaces in the whole
project are described in this chapter with the help of images in the project.
37
Figure 4.2: Module architecture (Source Author)
38
Module 1: Registration / Login Module”
Mod 1.1 User Registration
User must register to the mobile application. The authentication will be done by the email and
mobile number have provided by the user. Then we verify email, mobile number and password
from the details stored in the SQL database. Then user can create their own profile by including
their own details and all the details are stored in the database in several tables.
39
Module 2: “System Administration”
Mod 2.1 Manage user records
Mod 2.1.1 Register a new user
By completing the registration form, user can make requests in our mobile application. The above
figure (figure 3.0) shows how the registration will be happen in our system.
User has access to login to their profile and edit the details. All the edited details are stored in the
database. User can change their password, personal details, emails, phone numbers and etc. The
details are store in the database in the separate tables. Above figure shows how the editing process
happens in the whole program.
40
2.1.3 Remove users
Removing can be happen in two ways.
i. Admin can remove or block a user if others (drivers) have reported about him.
ii. User can deactivate their accounts due to some reasons.
So, anyway when someone removed from the process, the whole details stored in the system will
delete from the table. If admin has blocked some users account, he does not have no more ability
to do any process in the application.
41
Figure 4.6: User can deactivate the account (Source Author)
42
Module 3: “Task Administration”
Mod 3.1 Pick up the user location
Employer posts about the work by including an image and details of the job. Below figure shows
us how this process is happening in this category.
43
Mod 3.2 Find the nearest driver
Admin wants to be able to select the nearest driver. So, we are getting help of a mapping system to
find the nearest driver. We are getting the location of the driver in their personal details.
44
4.4.1 Conceptual Data Design of the Proposed System
45
4.4.2 Mapping the Entities Identified
The above showed EER model is converted into relations using the 8 step process.
REQUEST(request_id,user_id(fk),user_name,(fk),address(fk),recycle type)
46
4.5 Data Type Design for the Database
This table shows the tables of the database with their attributes and respective data types.
TABLE-USER
user_id varchar 20
email varchar 25
mobile_no varchar 25
password varchar 10
TABLE-COLLECTOR
collector_id varchar 20
collector_nic varchar 20
collector_driving_license varchar 25
vehicle_type varchar 25
mobile_no varchar 25
email varchar 20
TABLE-RECYCLE COMPANY
company_id varchar 20
company_name varchar 20
phone_no varchar 25
47
address varchar 250
recycle_type varchar 25
email varchar 10
TABLE-REQUEST
request_id varchar 20
user_id varchar 20
recycle_type varchar 25
quantity varchar 10
Table 6: Request
48
4.6 Database Relationship Diagram of the Database
49
4.7 Interface design
The user-friendly interface designs for the developing system are shown below.
4.7.1 User (Clients and collectors) mobile application interfaces
4.7.1.1 Interface of Splash Screen
50
4.7.1.2 Main interface
51
4.7.1.3 Interface of user login
52
4.7.1.4 Interface of driver login
53
4.7.1.5 Interface of user map
54
4.7.1.6 Interface of driver map
55
4.7.1.7 Interface of trash selection
56
4.7.1.8 Interface of pickup material information
57
4.7.1.9 Interface of finalization
58
4.7.1.10 Interface of navigation bar
59
4.7.1.11 Interface of pickup details
60
4.7.1.12 Interface of request selection
61
4.7.1.13 Interface of scheduling
62
4.7.2 User (Client and admin) web application Interface
4.7.2.1 Interface of Home page
63
Figure 4.26: Interface of the home page (Source Author)
64
Figure 4.28: Interface of the home page (Source Author)
65
4.7.2.2 Interface of Store
66
Figure 4.32: Interface of the store (Source Author)
67
4.7.2.4 Interface of Billing
68
4.7.3 Backend (Admin) web application Interface
4.7.3.1 Interface of Admin login
69
4.7.3.3 Interface of Orders page
70
Figure 4.40: Interface of the product panel (Source Author)
71
4.7.3.5 Interface of the confirmation E-mail
72
4.9 Summary
This document presents details about designing of proposed application and recruitment system
for the Clients and workers.
The document explains about overall system architecture of the application and how system
functions through the presentation layer, application layer and the data layer. And this chapter
illustrates about the software architecture of the application.
An addition to that this chapter also describes the details about modules of the system. The
application contains the several modules and how they work. Furthermore, this document
describes the database design and the database relationships of application. ER diagram is used to
show how the database designing was work.
This summary concludes the designing details of the documents for the proposed system.
73
Chapter 05: System Testing and Implementation
Topics Cover Through the Chapter
5.1 Introduction
5.2 Technology Considerations
5.2.1 Selecting the Operating Systems for Mobile Application and web application
5.2.2 Selecting the language
5.2.3 Selection of Tools
5.2.4 System Development Strategy
5.3 Testing
5.3.1 Objectives of Testing System
5.3.2 Testing Strategy
5.3.3 Testing Deliverables
5.3.4 Errors and Bugs
5.4 Implementation plan
5.4.1 System Overview
5.4.2 System Changeover
5.4.3 Installation of the Mobile Application and Web Application
5.4.4 User Training
5.5 Summary
74
5.1 Introduction
System testing and implementation is an especially important phase in software development. This
chapter describes the system testing and implementation phase. System implementation and
testing report is mainly concentrating on how the system is going to implement and tested.
Basically, this will check how the system is going to develop physically. Here, the most
importance of selecting the right technologies and tools for application development. Such as
appropriate language selection and methodology selection is discussed.
The testing methodologies, strategies and their objectives which is used with the development will
be discussed in detail. System testing also is an essential step for the development of a reliable and
error free system. System must be tested to uncover and correct as many errors may possible
before delivery to the users. Testing the system ensure the implemented system will run with
minimum errors and bugs.
This report also describes the information about implementation facts, which is needed to run the
system in real environment.
The implementational facts conveys about the system implementation procedures in depth to
provide comprehensive knowledge to the reader regarding the data runs, installation methods and
system handover procedures.
75
5.2.1 Selecting the Operating Systems for Mobile Application
Operating system is necessary technical factor that should focus in implementing the proposed
mobile application. When it comes to picking a mobile OS, it should not be done in a silo. Many
parts of organization will be affected by the choice. It is important to consider the needs of IT,
finance, system requirements, and those who will be using the devices in the field before deciding.
Selection of the most appropriate OS was a challenge that was emerged at the development. It is
much harder to select the most appropriate OS without an initial knowledge about available
mobile OS which is available for the development.
There are several mobile operating systems but only two are the leaders that share almost the
whole market.
• iOS
• ANDROID
These OS have different in many aspects and have own advantages. Selecting the most
appropriate OS were much harder.
With the research that have been done about the OS throughout the initial system development
process resulted ANDROID as the final decided OS for the entire development.
Following are identified as the basic factors in selection of an OS.
• Development
Android and iOS are completely different operating systems, so the requirements for these
applications are also different. Particularly, the apps for Android are mostly written in Java
and apps for iOS – in Objective-C and Swift. iOS developers create applications for few
platforms, while Android is used with many devices of different screen size and aspect
ratios, thus requiring more time and efforts from a development team and more money.
However, Android development has a great advantage over iOS: the opportunity for
dynamic app development, as Android development platform allows using third-party
tools to implement a variety of new things.
• Users
When choosing the right platform for application you should take into account what users
think. The users’ view on Android and iOS is not unique, obviously. One may find the
supporters of both systems, as well as their haters. Supporters of Android admire the
possibility to set the system in accordance with their needs and to download the variety of
apps, criticizing the high price of Apple devices and the expensiveness of App Store
applications. ANDROID users say they love its user-friendliness, amazing design, and
high level of security.
• Easier to learn
Android is a platform that is easier to master for developers having varying skill levels.
Mobile app development services can utilize Android with much greater ease than any
other platform. Android uses Java which is a programming language that most developers
are intimately familiar with. In case of iOS applications, one has to pick up Objective-C or
Swift, Apple’s development language. Both the languages are useful for only those
76
developing iOS apps. For Android app development, you do not need to hire scarce,
expensive talents having specific technical experience for a good number of years. Even
amateur developers with the requisite innovation can teach themselves to create excellent
apps on Android.
• Greater innovative Potential
Google’s philosophy of innovation and freedom filters into the apps that it hosts on its
store. Being its brainchild, Android is just a lot more fun to play around with. It’s policy
for including apps is a lot more flexible, which allows developers more space to
experiment and innovate. Choosing a mobile application development platform for
Android encourages new ideas and is instrumental in creating applications that add
previously unmatched value into users’ lives.
• Easier entry to market
To develop an Android app, all you must do is register yourself as a developer, create your
Android Package Kit (APK) and submit it to the Android mobile application development
platform. This is infinitely simpler than getting yourself registered as an iOS App
developer, mainly because the process of securing approval from Apple involves a greater
number of steps. Android apps are often approved and deployed in a day. While on the
App Store, this takes about a few weeks. An app can also be updated on Google Play Store
as many times as desired, in accordance with user feedback. On the App store, you have to
submit an update and go through a process that slightly more through a time-consuming
process. Android obviously wins in terms of efficiency. With the right mobile application
development platform, you can get started right away!
• Compatible with more devices
The reason Android rules the app market is its ability to run on more devices than its
competitors. Manufacturers that make devices supporting Android apps outnumber those
developing to suit iOS specific apps. The simple reason being that an Android device will
be used by a greater number of people, owing to the ‘affordability’ part. Thus, Android
application development proved to be the wiser and a more profitable option.
• Kotlin
• Java
Java is the official language of Android development and is supported by Android Studio. It has a
steep learning curve. Kotlin was recently introduced as a secondary “official” Java language. It is
like Java in many ways but is a little easier to get your head around.
Java is the final decided language for the entire development.
As for the development of the web application we decided to use major two languages as they are
easy to use and we are used to those languages. So, we finally decided to use php and Js.
77
5.2.3 Selection of Tools
Implementation of the proposed mobile and web applications needs to have experience on set of
tools. Tools were helpful in creating the models of the system during system development making
the development much more convenient and easier for the developer. Selection of tools for the
development must be done in way that the selected tools are compatible with the development.
Following are some tools used in the development process
• Prototyping
Prototyping is that instead of freezing the requirements before a design or coding can
proceed, prototype is built to understand the requirements. This prototype is developed
based on the currently known requirements. It also enables designers to test the best of
their ideas. To build prototype “Adobe XD” used in system development.
• Graphic Designing
As graphic designing tool “Adobe Photoshop” was used in the development to design and
creating the graphical part.
• IDE for Android app development
When choosing an Android IDE, developers should consider the organization in charge of
maintaining it. Most of the Android IDEs on the list support the three most popular
operating systems Windows, macOS, and Linux but some do not. It's important to make
sure the IDE you choose supports the operating system that you run on your PC. In ordered
to the above requirement “Android Studio” were used to whole application development
process.
• Database Tool for web and android app
As a database “Firebase” used. Firebases provide more features for developing the high-
quality app that users are going to want to use. Firebase also provide following key
features. Cloud Messaging, Authentication, Remote Configuration and Realtime Database
to Store, sync app data in real time.
For web development MySQL is used because it is easy to work with when it comes to
web development. MySQL is a freely available open source Relational Database
Management System (RDBMS) that uses Structured Query Language (SQL). SQL is the
most popular language for adding, accessing, and managing content in a database. It is
most noted for its quick processing, proven reliability, ease, and flexibility of use.
• IDE for Android web development
We decided to use Visual Studio Code as our ide for are web development. Visual Studio
Code is a source-code editor that can be used with a variety of programming languages,
including Java, JavaScript, Go, Node.js and C++. It is based on the Electron framework,
which is used to develop Node.js Web applications that run on the Blink layout engine.
78
5.2.4 System Development Strategy
Following Figure depicts the system development strategy regarding the development of the
proposed mobile application. Building the prototypes was easier in initiating the system
development methodology through the identified interfaces. Interface design using prototypes let
the client to understand and verify the flow of the system. Interface prototypes acts as a usability
prototype rather than concentrating about the functionality of the system.
And later, development proceed with the module design and the database design to make the
system complete in a modular basis rather than implementing the whole system as a single
module. This strategy is identified as the top down approach and was chosen as the development
strategy, in the easiness in proceeding with the system development. In here, next steps decide the
functionality of the system proceeding with the module designing and the database designing.
79
5.3 Testing
Testing is a level of software testing where a complete and integrated software is tested. The
purpose of this test is to evaluate the system’s compliance with the specified requirements.
Testing of application is a major the task to perform successful project. Software testing is a
methodology that can be implemented at any time in the system development process. Excellent
performance on a test case depicts an error free, well performing system with the tested modules,
functionalities. The objectives made on system testing depict the testing level to be used to
accomplish the task.
80
Most of the system tests are being conducted to see whether system is functioning with the
implemented functions. Exploring the functionality through test cases emphasize the fact
that all the functional requirements are fulfilled according to client’s requirements.
Functional prototypes are used in most of test cases to explore the functional achievements
of the system.
• Unit Testing
Unit Testing is defined as a type of software testing where individual units, components of
a software are tested.
When talking in terms of testing large application using black box testing technique,
involves the combination of many modules which are tightly coupled with each other. We
can apply the Integration testing technique concepts for testing these types of scenarios.
The way that integration testing works is by getting the individual modules that have been
identified through the unit testing phase and integration of set of modules into a group. The
integration testing phase will make sure when the modules are being integrated together
that the problems, for example errors or bugs caused due to the integration of the modules
are eliminated.
Components Description
User Authentication Module Users username and the password. If only
the user is identified as super admin of the
system, the pages are directed to the user
User Management Module
management module. are checked against
the super admin
User Authentication Module Integration of the two modules is checked.
Users are only allowed to request for a
Request pickup Module pickup and select their type of garbage
only after login with their account with
Select the type Module
valid email and password.
Report Generation Module Report Generation Module allows admins
User Management Module to handle report and sending notification to
Notification Module users.
Table 8: Test Plan- Integration Testing
82
• System Testing
System Testing is the testing of a complete and fully integrated software product. Usually,
software is only one element of a larger computer-based system. Ultimately, software is
interfaced with other software/hardware systems. System Testing is a series of different
tests whose sole purpose is to exercise the full computer-based system.
Furthermore system testing emphasizes how the system will react in the real environment
of the system implementation and the issues that will arise; bugs and also the developer
will be able to come across new requirements of the client in order to make the system a
more successful product.
Components Description
User Authentication Module Event flow of the whole system is checked by
User Management Module testing all the modules in the system. Relevant
Database Management Module interface redirection by clicking on the link or
the button. Typing the valid admin email and
Request pickup Module
password, identifying admin email and
Select the type Module password and proceed with admin
Report Generation Module functionalities. And checking the users email
User Management Module and password and allow them to proceed with
Notification Module their functionalities.
Table 9: Test Plan-System Testing
(Refer Appendix C and Appendix D for the test interfaces and logs)
5.3.3 Testing Deliverables
Test Deliverables are the artifacts which means that are produced by people involved in the
process and are given to the stakeholders. Some deliverables are provided before testing phase,
Some during the testing phase and rest after the testing cycle. There are different test deliverables
at every phase of the system development such as reports, charts and other documents which is
provided on a regular basis. Some test deliverables are provided before testing phase, some are
provided during the testing phase and some after the testing cycles is over.
• Runtime Errors
This error was found in various situations. Many reasons are found which led this this
error, such as invalid code generation and technical errors running the system. This error is
fixed by increasing the system memory and fixing the invalid algorithms.
83
• Segmentation faults
Issues will be identified due to inappropriate flow of the system. Then the faults may occur
in the system testing and in system integration testing
84
the system. But the disadvantage will occur in confusing, if the system undergoing pilot run does
fail, the data in the new system is lost. It can also lead to some confusion as to which system is
being used for what.
According to clarifications and identifications, parallel run is selected as the appropriate system
changeover methodology in implementing the system of mobile application as per the system
objectives, functionalities and scope of the proposed mobile application and web application.
5.5 Summary
The entire chapter is about the system implementation and testing of the proposed application. The
implementation phase depicts how the system is being developed and implemented. This phase
also concentrates on detailed description about how the system is developed with appropriate
selection of languages, tools etc., how the system is going to implement and whether the system
needs user training or not.
System Testing is the other major phase which is discussed in the chapter. Software testing can
commence at any time in the software development process. The system testing process is used to
verify the development against the requirements, to check the system for errors, to check the flow
of the system etc. The errors discovered in testing the system are being discussed in a more detail
approach in the testing phase.
85
Chapter 0 6: System Evaluation
Topics Cover Through the Chapter
3.1 Introduction
3.2 Evaluation on the Project Development Process
6.2.1 Analysis Phase
6.2.2 Design Phase
6.2.3 Implementation Phase
3.3 Evaluating the product
6.3.1 Methods of Evaluation of the product
6.3.2 Problem Addressed
6.3.3 Evaluating the Process Solution Provided
3.4 Project Achievements
6.4.1 Project Aim
6.4.2 Project Objectives
6.4.3 Other Project Achievements
3.5 Summary
86
6.1 Introduction
Evaluation of the system focuses on the evaluation of the project. We discuss about the objectives
which were achieved, the problems were faced during the project was happening and how the
teammates found the solutions for those problems and issues.
Majorly evaluation of the project describes about the process of making value judgements over a
level of performance or achievements. We evaluate the project to determine the extent to which
the objectives are achieved.
Evaluation part answers how far the team has achieved to answer the user requirements gathered.
Evaluation is in a best point if we have succeeded the considerable requirements of the project.
Questionnaire was created as a google form and it was distributed among our colleagues.
We have added both open-ended questions as well as close-ended questions. But most of
the friends have not answered for the open-ended questions. We could not be able to
gather the information what we expect from those answers. They have given their less
amount of attention for that questionnaire. Gathering the answers were rather difficult.
Some was too much delayed to submit the google form. Some did not fill that sheet. Those
are the difficulties and the weak areas of the questionnaire.
87
The questions were arranged due to some reasons. Some questions were created to get the
ideas of the users, some were designed to clarify the correct way, or the most suitable way
and some questions were put in that form to know their ideas about our project. But the
answers of those were not enough to have a correct idea.
Interviews were organized with the recycling companies. We have included more close-
ended question due to their busy schedule. It was difficult to arrange a time schedule with
them. They are not willing to have the interview in a long period. Sometimes it was really
stuffed to handle with the interviewees.
Gathering the documents also were not much easy. Some of the documents were not
completed and some were not access for free download. Some documents were out of date.
All the design parts of each sections are creating under this category. Database design in
the project is described in this section.
The whole project interfaces designed under this design phase. We use software to
prototype the interface of the project.
This is an especially important section of the project because this is the interconnect area
with the user. This is the place that user has access to use and control. So, we want to
design every section to feel free to use by the user.
88
6.2.3 Implementation Phase
All the construction, testing and implementation of the system will be carried out during this
phase.
• Key process of the implementation phase
▪ Identifying test strategies
▪ Design of test plan
▪ Identifying major tasks on implementation
▪ Planning implementation
By selecting the proper implementation methods help to have the process success.
89
• Questionnaire is also a considerable
way to gather the data. But is not a
successful method compared to the
interviews due to the busy schedules of
the people.
• Documentary gathering is also a data
collection method.
Analyzing the data gathered • Gathered data are analyzing in this
section
• This is somewhat complicated section
in the process because analyzing the
collected data is not easy.
• The solutions capture from this section
makes huge evaluation for the
upcoming processes.
• Analyzing makes a clear idea about the
client’s requirements in a more
organized manner.
Identifying and design the modules of the • In here, separate modules which should
proposed system be developed in the system are
identified.
• Designing process is done by using
several types of diagrams. Such as
Class diagrams, Use case diagrams, ER
diagrams etc.
• The diagrams have relevant rules to
design and there are software platforms
to create these diagrams.
• Diagrams are such fast than the
document to have an idea about the
process and diagrams are helpful for
the development process also.
Evaluation of the identified modules of the • Evaluation process checks whether the
system technology has used are available in
the current world and whether there is
much cheaper and useful technology.
• We are checking whether the structure
of the software is in the right structure.
Prototype of the software helps in this
section.
• We check whether the process has
designed in the software platform is
user friendly.
Implementation of the project • Eco-cycle android application is
enforcing in this section.
• Productivity in achieving the above
mention objectives such as
identification of the requirements,
analyzing the requirements, identifying
90
the modules leads in the successful
implementation.
Table 10: Process Evaluation
• Questionnaires
Questionnaire was conducted to know the ideas of the users. Both open-ended questions
and close-ended questions are created and distributed among them. Then collect those and
observed to have a clear identification about the user’s point of view.
92
Does not have the chance with contacting the • As they are under this project, they will be
people having continuous row of requests for
pickups
Table 15: Solution for collectors
Problem Addresses on current system Solution provided
• Difficulty in finding the input capital • More capital input will be gained through
• Difficulty in finding the proper customer the platform where collectors and civilians
base for recycling stuff are connected
• With the help of the Eco-cycle web a new
customer base will be created for the
recycling companies.
Table 16: Solution for collectors
6.3.5 Evaluating Functional Requirements
Purposes of evaluating the functional requirements are to identify whether the system’s
components meet the requirements specified.
Functional Requirements Component developed
Be able to create an account in the system User Authentication Module
Be able to request for a pickup User Authentication Module
Be able to select the type of the trash User Authentication Module
Ability of giving feedback and getting User Authentication Module
connected with the admin
Table 17: Solution for collectors
6.4 Project Achievements
Achievements made during the project are discussed based on project’s aim, objectives and
functional requirements and non-functional requirements.
93
6.4.3 Other Project Achievements
It is helpful to have the experience about the project development to face the challengers in the
future project development.
Being able to apply project management and programming skills learnt before, to the project have
being a great opportunity test the skills learnt in real environment. Some of the achievement
received and lessons learnt during the project are,
• Develop the project management skills
• Learn about the programming languages
• Learn to manage the time during the project
• Improving writing skills by preparing a complete document report
6.5 Summary
This chapter focused about the evaluation on the project and the system developed. The
implemented system is evaluated by discussing the problems of the current system and functional
requirements of the new system.
94
Chapter 0 7: Conclusion and Recommendation
Topics Cover Through the Chapter
7.1 Introduction
7.2 Project Result Overview
7.2.1 Lessons Learnt Via the Accomplishment of Project Objectives
7.3 Recommendation related to the system
7.4 Future Enhancement
7.5 Project Conclusion
7.6 Summary
95
7.1 Introduction
This part gives review about the project results, achievement during the project. Future upgrade
which converges with the project is likewise mulled over under this part
96
•Another good experience had been how far
the design theories come into practice on
real environment.
Evaluation of the designed modules of the • Acquire knowledge about several
system development technologies. E.g.: Gain
knowledge about development language,
identified tools available.
Implementation • Identification of the relevant testing level
and proceed with testing the system
Table 18: Accomplishment of Project Objectives
7.3 Recommendation related to the system
Identifying recommendations is a main phase to provide user friendly and user satisfied system in
future enhancements. The system call “Eco-cycle” which provide waste management platform is
already identified, following recommendation about to implement in future development phases.
The exist implemented system will be more productive and efficient with the following
implementation.
• Usage of the shortest path
To provide a better user experience we hope to add the shortest path which will help the
collector to find the shortest path for the pickup. This will offer a fast and convenient
service as the users wish.
7.6 Summary
This chapter conclude overall the project idea of this system development. Entire overview of the
result of the software project was elaborated through mentioning of the learning involvement
taken entirely the software project development within order to the objectives.
The project conducted under CS2993: Group Project Software Development where a group of
four students working for a achieve a common goal for a period of one year. Therefore, proper
communication skills in between the members and the staff among them are essential to achieve
one goal with given limited period.
Implement the objectives in the software development is mostly useful in experience the real time
experience in software project development which is gainful to students as software engineers.
implementation of the documentation skills. In this module is more beneficial for sharpening and
spreading our carrier study in all the system development aspects. And the periodical
documentation offer throughout the development
98
References
"RTS," [Online]. Available: https://en.wikipedia.org/wiki/Recycle_Track_Systems.
[Online]. Available: https://reducewastekingston.wordpress.com/impacts-on-biodiversity.
[Online]. Available: https://www.etutorworld.com/science/advanced-placement-biology-tutoring.
"EFL," [Online]. Available: https://efl.lk/status-waste-management-sri-lanka/.
"ThinkGreen," [Online]. Available: http://thinkgreen.lk/recycling-in-sri-lanka/.
"Green Link," [Online]. Available: http://www.greenlink.lk/.
99
Appendix Eco-cycle Mobile and Web application
Appendix A
Questionnaire questions
100
Figure 8.2: Appendix A – Questionnaire (Source Author)
101
Figure 8.3: Appendix A – Questionnaire (Source Author)
102
Appendix B
Interviews
01. The places that the garbage is collected.
• Companies
• Houses
• Schools
02. Are there any collectors?
03. How frequently the process of collecting is done?
• Daily
• Weekly
• Monthly
04. Types of vehicles used to collect garbage.
05. Quantity of garbage collected.
• No. of bottles collected
• Kilos of waste collected
06. Prices assigned to different types of garbage collected.
07. What is the process after collecting the garbage?
• Recycling
• Selling
103
Appendix C
Test runs and logs to the android application
104
Figure 8.6: Appendix C – Android application test interface (Source Author)
105
Appendix D
Test runs and logs to the web application
106
Figure 8.9: Appendix D – Desktop application test interface (Source Author)
107