Project CHP 1 To 4
Project CHP 1 To 4
Introduction
1.1 BACKGROUND
India faces significant challenges in waste management due to its large population, rapid
urbanization, and inadequate waste management infrastructure. The country generates over 150 million
tons of municipal solid waste annually, with organic waste (45%), recyclables (20%), and inert waste
(15%) making up the majority. Only 22% of waste is properly treated and disposed of, with 60% disposed
of in unauthorized dumping grounds. Only 18% of waste is recycled. Only 30% of urban India has access
to proper waste management services, and many cities lack adequate waste collection, transportation,
and disposal facilities.
Challenges include inadequate waste segregation and collection, insufficient waste treatment and
disposal capacity, lack of public awareness and education, and limited funding and resources. Initiatives
like the Swachh Bharat Abhiyan aim to achieve 100% waste management and sanitation coverage by 2025,
and the National Waste Management Policy focuses on waste reduction, segregation, and proper disposal.
Waste-to-energy plants are being set up to generate electricity from waste. Opportunities include creating
jobs, reducing environmental pollution and health risks, and learningfrom international best practices
and technologies.
1.2 OBJECTIVES
• Educational Awareness
Provide information on waste segregation, recycling, and proper waste management
• Waste Tracking and Reporting
Allow users to log and track their waste production and report issues such as missed pickups.
• Recycling and Disposal Information
Offer a searchable database or map for local recycling centers, disposal points, and guidelines.
• Collection Scheduling and Notifications
Send reminders and updates about waste collection schedules.
• Data Collection and Analysis
Gather and analyze data on waste management practices for improvement and insights.
1
• User Feedback and Improvement
Collect feedback and suggestions for continuous app enhancement.
• Integration with Local Authorities
Connect users with local waste management services and support official complaints or requests.
• E-Commerce for Recycled Goods
Create a marketplace for buying and selling recycled goods, including features like product listings,
secure transactions, and seller profiles.
• Sustainable Sourcing
Support and promote sellers who adhere to sustainable practices and ethical sourcing.
• Customer Reviews and Ratings
Implement a review system for recycled products to help users make informed purchasing decisions.
1.3.1 PURPOSE
▪ A waste management app can optimize waste collection routes, encourage user engagement,
encourage waste reduction, improve public health, promote sustainability, and provide data
management for waste management agencies.
▪ By reducing waste disposal costs and optimizing resource allocation, a waste management app
can contribute to a more efficient, sustainable, and healthy environment.
▪ It also promotes sustainable living and reduces the environmental impact of waste disposal
1.3.2 SCOPE
The waste management application will primarily concentrate on optimizing the management
of household waste through a systematic framework that encompasses waste collection, segregation,
and proper disposal methods. It aims to streamline these essential aspects by offering a range of user-
friendly features tailored to meet the diverse needs of residents, waste management agencies, and
municipalities, thereby fostering a collaborative environment conducive to effective waste
2
management practices.
• Limitations
• Assumption
o Users want to be informed about proper waste disposal methods but may not always know
them.
o Reduction in landfill waste and increased recycling rates are achievable goals through
effective application usage.
o Waste management regulations and guidelines are followed by users and authorities
1.3.3 APPLICABILITY
• Promotion of Recycling and Segregation: By providing information on recycling centers,
guidelines on waste segregation, and notifications for collection schedules, the app encourages
users to participate actively in recycling efforts. This contributes to reducing landfill waste and
promoting environmental sustainability.
• Community Building: Apps with social features such as forums or community events related to
recycling can foster a sense of community among users who are passionate about environmental
conservation.
• Connecting Supply and Demand: By providing a platform where suppliers (those with recyclable
materials) and buyers (those looking to purchase recycled goods) can connect, the app helps create
a more efficient market for recycled materials. This can potentially reduce waste and promote a
circular economy.
• Tips and Guides: Offering tips and guides on waste reduction, reuse, and recycling strategies can
empower users to make more sustainable choices in their daily lives. This might include suggestions
on minimizing single-use plastics, composting organic waste, or choosing products with minimal
packaging.
3
1.3.4 SDGs (Sustainable Development Goals)
The Sustainable Development Goals (SDGs) consist of 17 goals established by the United Nations in 2015 to
address global challenges and promote a better and more sustainable future for all. Here they are:
1. No Poverty: End poverty in all its forms everywhere.
2. Zero Hunger: End hunger, achieve food security and improved nutrition, and promote sustainable
agriculture.
3. Good Health and Well-Being: Ensure healthy lives and promote well-being for all at all ages.
4. Quality Education: Ensure inclusive and equitable quality education and promote lifelong learning
opportunities for all.
5. Gender Equality: Achieve gender equality and empower all women and girls.
6. Clean Water and Sanitation: Ensure availability and sustainable management of water and sanitation
for all.
7. Affordable and Clean Energy: Ensure access to affordable, reliable, sustainable, and modern energy
for all.
8. Decent Work and Economic Growth: Promote sustained, inclusive, and sustainable economic
growth, full and productive employment, and decent work for all.
9. Industry, Innovation, and Infrastructure: Build resilient infrastructure, promote inclusive and
sustainable industrialization, and foster innovation.
10. Reduced Inequality: Reduce inequality within and among countries.
11. Sustainable Cities and Communities: Make cities and human settlements inclusive, safe, resilient,
and sustainable.
12. Responsible Consumption and Production: Ensure sustainable consumption and production patterns.
13. Climate Action: Take urgent action to combat climate change and its impacts.
14. Life Below Water: Conserve and sustainably use the oceans, seas, and marine resources for sustainable
development.
15. Life on Land: Protect, restore, and promote sustainable use of terrestrial ecosystems, manage forests
sustainably, combat desertification, and halt biodiversity loss.
16. Peace, Justice, and Strong Institutions: Promote peaceful and inclusive societies for sustainable
development, provide access to justice for all, and build effective, accountable institutions at all levels.
17. Partnerships for the Goals: Strengthen the means of implementation and revitalize the global
partnership for sustainable development.
These goals aim to create a more equitable, sustainable, and peaceful world by 2030.
4
Here are the SDGs which our Project Follows:
5
• Importance: As urbanization increases, sustainable cities are vital for ensuring that urban areas can
provide quality living conditions, support economic development, and mitigate climate change.
Goal 12: Responsible Consumption and Production
Objective: Ensure sustainable consumption and production patterns.
• Key Targets:
o Implement the 10-Year Framework of Programmes on sustainable consumption and production.
o Reduce waste generation through prevention, reduction, recycling, and reuse.
o Encourage companies to adopt sustainable practices and to integrate sustainability information
into their reporting cycle.
o Promote public procurement practices that are sustainable, in accordance with national policies
and priorities.
• Importance: Responsible consumption and production patterns are essential for maintaining resources
for future generations and ensuring a sustainable economy. They help reduce environmental
degradation and improve resource efficiency.
These goals interlink and address critical global challenges, emphasizing the need for integrated approaches to
achieve sustainable development. If you have specific aspects of your project related to these goals, feel free
to share, and I can help further!
6
1.4 ACHIVEMENTS
7
Chapter 2
SURVEY OF TECHNOLOGIES
Data can be described using XML in a text-based document. XML is utilised for a variety of activities due to
its extensibility and flexibility, including creating the UI layout of Android app
8 6
KOTLIN :-By creating world-class IDEs like IntelliJ IDEA, PhpStorm,
AppCode, etc., JetBrains created the statically typed, general-purpose
programming language known as Kotlin. It I s a new language for the
JVM , initially presented by JetBrains in 2011.Despite being an object-
oriented language that is "better" than Java, Kotlin is nonetheless
completely compatible with Java code
9 7
React Native: Facebook's React Native is an open-source framework
that enables cross-platform development of mobile apps using
JavaScript and React. It allows developers to create apps for iOS and
Android using a single codebase, reducing development time and
costs. React Native uses a component-based architecture, promoting
code reusability and easier maintenance. It is written in JavaScript, a
widely-used language, allowing developers to leverage existing
libraries and tools. It also offers native performance, using native
components instead of web views, through asynchronous
communication and native API interactions.
10 8
PYTHON ⚫ Easy to code ⚫ Improved ⚫ Slow Speed
Productivity
⚫ Easy to read ⚫ Not Memory
⚫ Interpreted
⚫ Free and open- ⚫ Efficient
source ⚫ Language
⚫ Weak in Mobile
⚫ Robust standard ⚫ Dynamically
⚫ Computing
Typed
⚫ Library
⚫ Database Access
⚫ Portable
⚫ Runtime Error
⚫ Object-Oriented
11 9
2.4 Selected Technologies
➢ FLUTTER
➢ DART
➢ FIREBASE
➢ NODE.JS
• NODE.JS
Node.js is a powerful JavaScript runtime built on Chrome's V8 engine. It allows developers to execute
JavaScript code server-side, enabling the creation of scalable and high-performance web applications. With
its non-blocking, event-driven architecture, Node.js excels in handling concurrent requests, making it ideal
for real-time applications like chat services and online gaming.
I. Non-Blocking I/O
II. Single-Threaded.
IV. Cross-Platform
FLUTTER
12 10
Some features of Flutter:
I. High performance
DART
Dart is an open-source, object-oriented, class-based programming language developed by Google. It was
introduced in 2011 as a language optimized for client-side development, specifically for building web
applications. Over time, Dart has evolved to become a versatile language used for various purposes, including
web, server, and mobile app development.
I. Object-Oriented
III. Platform-Independent
FIREBASE
Firebase is a platform developed by Google for creating mobile and web applications. It provides various
tools and services that help developers build high-quality apps, grow their user base .
I. Realtime Database
II. Authentication
III. Hosting
IV. Cloud Functions
13 11
Chapter 3
Poor waste collection routes, no sorting of waste, and not letting waste be disposed of
properly make waste management harder. Bad collection routes waste resources and make it so
that waste might not be thrown away right, thus causing hassle for the environment. If the waste
isn't sorted at the beginning, recycling becomes even harder, and less amount of recycling is done
with more use of landfills. Overflowing bins are commonly caused by infrequent collection or
inadequate bin capacity and have contributed to littering and sanitation problems. The lack of
proper waste management infrastructure further worsens inadequate collection, recycling, or
proper disposal. Public awareness and education are important as they ensure better waste
practices and support recycling efforts. Monitoring the quantity of waste produced helps facilitate
better management measures, while the safety and productivity of waste workers contribute to the
systematic flow of operation. Lastly, compliance with regulations ensures that all practices will
meet legal standards to protect the environment. In conclusion, if all three are holistic approaches
to tackling the problem of waste management, the system will ultimately be more efficient and
healthy.
• Problem: Collection routes are not optimized, leading to increased fuel consumption and
operational costs.
• Solution: Use data analytics and GPS technology to optimize collection routes. Implement
route planning software that accounts for real-time traffic and waste levels.
• Problem: Waste is not separated at the source, making recycling and disposal more
challenging.
14
• Solution: Implement and enforce waste segregation policies. Provide clear instructions and
bins for different types of waste (recyclables, organic waste, hazardous materials). Educate the
public on the importance of segregation.
3. Insufficient Recycling
• Problem: Low rates of recycling lead to more waste ending up in landfills or incinerators.
• Solution: Enhance recycling programs by increasing the types of materials accepted. Offer
incentives for recycling and ensure convenient access to recycling facilities. Raise public
awareness about the benefits of recycling.
• Problem: Bins overflow due to inadequate collection frequency or bin capacity, leading to
littering and health issues.
• Solution: Increase the frequency of waste collection in high-density areas and upgrade bin sizes
if necessary. Implement sensors in bins to alert waste management services when they are full
• Problem: Lack of awareness leads to improper waste disposal and low participation in
recycling programs.
• Solution: Conduct educational campaigns about the importance of waste management and
recycling. Partner with schools, community organizations, and businesses to spread awareness.
• Problem: Without tracking, it’s hard to measure and manage waste generation effectively.
• Solution: Implement systems to track waste generation at various levels (household, business,
community). Use this data to develop targeted waste reduction strategies and policies.
15
the essential functional and non-functional requirements to ensure a robust, user-friendly solution
that meets regulatory standards and adapts to future needs.
Functional Requirements
• User Management
User Role
Admin (local authority)
Waste Management Employees
Citizens
Authentication Secure Login with user roles and permissions.
• Recycling Management
Recycling Centers: Give locations and types of materials accepted to recycle.
Drop-off Scheduling: Schedules are available for drop-offs of recyclables at recycling
centers.
Educational Resources: Inform about recycling practices and guidelines.
• Issue Reporting
Report Problems: Citizens can report a missed collection or illegal dumping.
Resolution Track: Allow the tracking of status on all reported issues.
16
• Payment and Billing
Online Payments: Facilitate payments for waste collection services.
Billing History: Let them view their invoices and payments history.
Non-Functional Requirements
• Performance
Response Time: The application should respond to user queries within 2 seconds at max.
Scalability: Manage more users and data as they grow.
• Security
Data Protection: Ensure that users' details are protected and rules are adhered to.
Use role-based access controls for access control.
• Usability
User Interface: Simple design for easy navigation.
Accessibility: Compliance with accessibility standards.
• Reliability
Uptime: The application should be available for access 99.9% of the time.
Backup: Consistent data backup to avoid loss of data.
Gantt chart
17
Figure 3.1: Gantt Chart
18
3.4 System Requirements
Software Requirements:
1. Operating System:
2. Development Environment:
o IDE: Visual Studio Code, Android Studio, or IntelliJ IDEA with Flutter plugins
3. Additional Tools:
Hardware Requirements:
1. Processor:
2. Memory:
3. Storage:
19
4. Graphics:
These requirements will ensure a smooth development experience for your waste management
app
The aim is to streamline waste management by connecting users with local waste management
organizations. The app provides information on how to dispose of various types of waste (wet,
dry, e-waste) and facilitates recycling and selling of recycled goods. To make waste management
more efficient and environmentally friendly. By providing a platform for users to manage their
waste and recycle, the app contributes to a cleaner and more sustainable community.
1) Definition:
An Entity-Relationship Diagram (ERD) is a visual representation used in database design to
illustrate the relationships between entities (objects, concepts, or things) in a system and how they
interact with each other. ERDs use symbols like rectangles to represent entities, diamonds to
represent relationships, and lines to show the connections between entities and relationships. By
modelling the structure of data and the associations between different entities, ERDs help in
understanding the logical organization of a database, aiding in efficient data storage, retrieval, and
management.
20
21
2) Symbols used in ERD:
1) Definition:
22
2) Symbols used in use case diagram are as follows:
• An association represents a
relationship between an actor and a
use case.
• It illustrates that a particular actor is
23
3) Diagram
1) Definition:
A Data Flow Diagram (DFD) is a visual representation that depicts how data moves
through a system. It illustrates the flow of information between processes, data stores,
external entities, and data flows themselves. DFDs use standardized symbols to show
the sources, destinations, processes, and storage of data within a system. By mapping
out the data's path, DFDs help in understanding how information is processed,
transformed, and stored within a system, aiding in systems analysis, design, and
communication among stakeholders.
24
2) Symbols used in DFD:
25
3) Diagram :
26
. Figure 3.6: DFD Level 2
1) Definition :
An activity diagram is a graphical representation used in software engineering to
depict the flow of activities, actions, and decision points within a system or a
process. It focuses on the sequence of activities and the conditions that guide the
flow, making it valuable for modelling complex workflows and business processes.
Activity diagrams use various symbols like nodes, actions, and decision diamonds
to illustrate how different tasks and actions are interconnected, including branching
paths based on decisions or parallel activities. This visual tool helps in
understanding, analyzing, and communicating the logic and structure of processes,
making it useful for both design and documentation purposes.
27
Initial State / Start • An initial state represents the
starting point of a process or
activity.
• It marks the state of a system before
any actions or transitions occur.
• It's often depicted using a filled circle.
solid
28
Join • A join symbol represents a point
where multiple parallel paths of
activities converge back into a single
flow.
• It signifies the synchronization of
concurrent activities and indicates
that the process waits for all parallel
paths to complete before proceeding.
• The join symbol is usually depicted as
a horizontal bar with multiple
incoming arrows and a outgoing
arrow.
single
Final State • a final state represents the
completion or termination of a
process or activity.
• It marks the end point of the
sequence of actions depicted in the
diagram. final state is typically
depicted using a solid filled circle
with a border
The.
29
3) Diagram :
A UML class diagram is a visual tool that represents the structure of a system by showing its classes,
attributes, methods, and the relationships between them. It helps everyone involved in a project—like
developers and designers—understand how the system is organized and how its components interact.
30
31
3.6.6 Object Diagram
1) Definition :
Object diagrams are a visual representation in UML (Unified Modeling Language) that
illustrates the instances of classes and their relationships within a system at a specific point in
time. They display objects, their attributes, and the links between them, providing a snapshot
of the system’s structure during execution. Since object diagrams depict behavior when objects
have been instantiated, we can study the behavior of the system at a particular instant.
2) Diagram 1 :
32
3) Diagram 2 :
33
understanding use cases, designing system architecture, and documenting complex
processes.
2) Diagram :
34
3.6.8 State Transition Diagram
1) Definition :
State Transition Diagram are also known as Dynamic models. As the name suggests, it is a type
of diagram that is used to represent different transition (changing) states of a System. It is
generally used to graphically represent all possible transition states a system can have and
model such systems. It is very essential and important and right for object-oriented modeling
from the beginning. The System consists of various states that are being represented using
various symbols in the state transition diagram.
2) Diagram :
35
3.6.9 Communication / Collaboration Diagram
1) Definition :
Speaking of communication diagrams, they are also called collaboration diagrams, which
are UML structures used for the definition of interacting objects. They are concerned with the
relationship between two objects and the sequence of messages passed between the two to
realize a specific functionality.
2) Diagram :
A package diagram is a type of structural diagram in UML (Unified Modeling Language) that
organizes and groups related classes and components into packages. It visually represents the
dependencies and relationships between these packages, helping to illustrate how different
parts of a system interact with each other
36
2) Diagram :
A Deployment Diagram is a type of Structural UML Diagram that shows the physical
deployment of software components on hardware nodes. It illustrates the mapping of
software components onto the physical resources of a system, such as servers, processors,
storage devices, and network infrastructure.
A Deployment Diagram shows how the software design turns into the actual physical
system where the software will run. They show where software components are placed on
hardware devices and shows how they connect with each other. This diagram helps
visualize how the software will operate across different devices
37
2) Diagram :
38
Chapter 4
System Design
System Design is the process of designing the architecture, components, and interfaces for a
system so that itmeets the end-user requirements. System design is the process of defining the
elements of a system such as the architecture, modules and components, the different interfaces
of those components and the data that goesthrough that system. It is meant to satisfy specific
needs and requirements of a business or organization through the engineering of a coherent and
well-running system. Systems design implies a systematic approachto the design of a system.
It may take a bottom-up or top-down approach, but either way the processis systematic wherein
it takes into account all related variables of the system that needs to be created—from the
architecture, to the required hardware and software, right down to the data and how it travels
and transforms throughout its travel through the system. Systems design then overlaps with
systems analysis, systems engineering and systems architecture.
4. E-Commerce Module:
39
• Payment Processing: Secure payment gateways for transactions.
• Promotions and Discounts: Offer discounts for first-time users or eco-
friendly purchases.
List of Tables:
• User
• Waste Request
• Waste Type
• E-Waste
• Wet Waste
• Dry Waste
• E-Waste recycling centre
• Wet Waste recycling centre
40
• Dry waste recycling centre
• Warehouse
• Location
• Carbon Footprint
• Packaging Centre
• Marketplace
• Complaint
• Order reviews
• Product reviews
• Order
• Order Details
• Payment
• Billing
• Delivery
• Notification
• Account Details
• Order Details
• GST
• Bank Account
• User
Column Field Data Type Null Key
user_id Int No Primary Key
Name Varchar(255) No
Email Varchar(255) No
Phone Varchar(255) No
Address Varchar(255) No
Table 4.1: User table
• Waste Request
Column Field Data Type Null Key
Collection_id Int No Primary Key
Location Varchar(255) No
Date Date No
Status Varchar(50) No
Table 4.2: Waste Request Table
41
• Waste Type
Column Field Data Type Null Key
Type_id Int No Primary Key
Type_name Varchar(255) No
Recycling_method Varchar(255) No
Description Text No
Table 4.3: Waste Type table
• E-Waste
Column Field Data Type Null Key
Waste_id Int No Primary Key
Category Varchar(255) No
Description Text No
Table 4.4: E-Waste table
• Wet Waste
Column Field Data Type Null Key
Waste_id Int No Primary Key
Category Varchar(255) No
Description Text No
Table 4.5: Wet Waste table
• Dry Waste
Column Field Data Type Null Key
Waste_id Int No Primary Key
Category Varchar(255) No
Description Text No
Table 4.6: Dry Waste table
42
Column Field Data Type Null Key
Facility_id Int No Primary Key
Facilty_name Varchar(255) No
Location Varchar(255) No
Capacity Int No
Table 4.8: Wet Waste recycling centre table
• Dry waste processing centre
Column Field Data Type Null Key
Facility_id Int No Primary Key
Facilty_name Varchar(255) No
Location Varchar(255) No
Capacity Int No
Table 4.9: Dry Waste recycling centre table
• Warehouse
Column Field Data Type Null Key
Warehouse_id Int No Primary Key
Warehouse_name Varchar(255) No
Location Varchar(255) No
MapLocation Varchar(255) No
Table 4.10: Warehouse table
• Location
Column Field Data Type Null Key
Location_id Int No Primary Key
Zone Varchar(255) No
City Varchar(255) No
Address Varchar(255) No
Table 4.11: Location table
• Carbon Footprint
Column Field Data Type Null Key
CFID Int No Primary Key
Scrap_quantity Int No
Facility_id Int No Foreign Key
Table 4.12: Carbon Footprint table
43
• Packaging Centre
Column Field Data Type Null Key
PackagingC_id Int No Primary Key
PackagingC_name Varchar(255) No
Packaging_type Varchar(255) No
Capacity Int No
Table 4.13: Packaging centre table
• Marketplace Products
Column Field Data Type Null Key
Product_id Int No Primary Key
Product_name Varchar(255) No
Product_type Varchar(255) No
Raitings Int No
Price Decimals No
Table 4.14: Marketplace products table
• Product reviews
Column Field Data Type Null Key
Review_id Int No Primary Key
Product_id Int No Foreign Key
Review Text No
Table 4.15: Product reviews table
• Order
Column Field Data Type Null Key
Order_id Int No Primary Key
Shipping_date Date Yes
Amount Decimal Yes
Product_id Int No Foreign Key
Table 4.16: Order table
• Order Details
Column Field Data Type Null Key
Product_id Int No Foreign Key
Price Int No
Quantity Int No
Shipping_date Date No
Table 4.17: Order Details table
44
• Payment
Column Field Data Type Null Key
Payment_id Int No Primary Key
Payment_type Varchar(255) No
Status Varchar(255) No
Product_id Int No Foreign Key
Amount Decimal No
Table 4.18: Payment table
• Billing
Column Field Data Type Null Key
Bill_id Int No Primary Key
Amount Varchar(255) No
Status Varchar(255) No
Payment_id Int No Foreign Key
Bill_Date Date No
Table 4.19: Billing table
• Delivery
Column Field Data Type Null Key
Delivery_id Int No Primary Key
DeliverLocation Varchar(255) No
Order_id Int No Foreign Key
Table 4.20: Delivery table
• Notification
Column Field Data Type Null Key
Notafication_id Int No Primary Key
Notafication_Title Varchar(255) No
Description Text No
Table 4.21: Notification table
• Account Details
Column Field Data Type Null Key
BankAcc_id Int No Primary Key
Bank_Name Varchar(255) No
Account_no (255) No
IFSC Int No
Amount Decimal No
Table 4.22: Account table
45
• Payment Details
Column Field Data Type Null Key
PDID Int No Primary Key
Payment_id Int No Foreign Key
Payment_type Varchar(255) No
Payment_date Date No
Payment_status Varchar(255) No
Table 4.23: Payment Details table
• GST
Column Field Data Type Null Key
GST_id Int No Primary Key
GST_no Int No
GST_type Varchar(255) No
GST_percentage Decimal No
GST_Amount Decimal No
Table 4.24: GST table
• Bank Account
Column Field Data Type Null Key
BankAcc_id Int No Primary Key
Bank_Name Varchar(255) No
AccHolder_Name Varchar(255) No
Account_no (255) No
IFSC Int No
Branch_name Varchar(255) No
Table 4.25: Bank Account table
46
4.3 Procedural Design
Procedural Design is a software development methodology that emphasizes the
sequence of steps or procedures required to solve a problem. It focuses on breaking
down a problem into smaller, more manageable tasks and defining the order in which
these tasks should be executed.
4.3.1 Logic Diagram
A logical diagram visually represents the steps or decisions in a process, showing how
different parts connect and flow together. It helps simplify complex processes and
make them easier to understand.
47
4.3.2 Data Structures
List of common Data Structures
• Arrays: Linear data structures that store a fixed-size collection of elements of
the same type, offering fast access via indexing but limited flexibility for
resizing.
• Linked Lists: A sequence of nodes where each node contains data and a
reference to the next, allowing efficient insertion and deletion but slower
access times than arrays.
• Stacks: It follows a Last In, First Out (LIFO) principle, commonly used for
managing function calls, undo operations, and expression evaluation.
• Queues: It follows a First In, First Out (FIFO) principle, ideal for task
management like print jobs, task scheduling, and request handling.
• Tree: Hierarchical structures used for efficient searching, sorting, and data
organization, with binary trees being common for indexing and decision
processes.
• Graphs: Model relationships between objects using nodes and edges, useful
for networks, social graphs and transportation systems.
• Heaps: A type of binary tree maintaining a specific order, used in priority
queues and algorithms like heap sort for efficient access to the max or min
element.
I might use data structures such as Graphs, Arrays, and Trees in the Bachelors Kitchen
to efficiently manage and organize food orders, ensuring quick access and a seamless
user experience.
• Trees: Organize destinations, activities, and schedules in a hierarchy, making it
39 easy to sort and manage itinerary elements efficiently.
• Graphs: Represent and manage travel routes between destinations, making it
easy to explore different possible routes for creating itineraries.
• Arrays: Arrays can manage a list of saved itineraries, providing a
straightforward way to access and display multiple saved plans. They offer
quick access to each itinerary in the list.
48
4.4 User Interface Design
49
Fig 4.4 Home Page Fig 4.5 Marketplace page
50
4.5Security Issues
4.4.1 Weak Authentication
• Issue: Accounts can be compromised due to weak passwords or lack of multi-factor
authentication.
• Solution: Enforce strong password requirements and regular password updates.
51
4.6 Test Case Design
1. User Registration
TC004 Invalid registration Not logged in Valid Error message Error message
(Password mismatch) on registration username, displayed displayed
page email, ‘Password do ‘Password do
password and not match’, not match’,
different user remains user remains
password on registration on registration
confirmation page page
TC005 Invalid registration Not logged in Leaving one or Error message Error message
(Empty fields) on registration more displayed for displayed for
page mandatory each empty each empty
fields empty field, user field, user
remains on remains on
registration registration
page page
Table 4. 26: User Registration Test Case Table
52
2. User Login
TC009 Invalid login: Empty Registered, not Leaving Error message Error message
fields logged in username or displayed for displayed for
password field each empty each empty
empty field, user field, user
remains on remains on
login login
Table 4. 27: User Login Test Case Table
53
TC011 Scheduling without Logged in, on Navigate to System prompt System prompt
product Home page ‘Request Garbage user to choose user to choose
collection’, a product from a product from
without selecting ‘Market Place’ ‘Market Place’
a product before pickup before pickup
TC012 Scheduling with Logged in, on Leaving one or Error message Error message
incomplete ‘Request more fields displayed ‘ for displayed ‘ for
information Garbage empty, attempted each empty each empty
collection’ to proceed to field, field,
page payment preventing user preventing user
from from
proceeding to proceeding to
payment payment
TC013 Scheduling with Logged in, on Choose an invalid Error message Error message
Invalid date/time ‘Request date or time for displayed displayed
Garbage backup ‘Invalid date ‘Invalid date
collection’ and time’, user and time’, user
page remains on remains on
scheduling scheduling
page page
Table 4. 28: Waste Collection Scheduling Test Case Table
54
5. Payment
Test Test case Pre-condition Input Expected Output Actual Output
Case Description
ID
TC017 Successful Selected a Correct Payment processed Payment
payment product and payment successfully. processed
scheduled a information “Order successful” successfully.
pickup message displayed. “Order
User recieves successful”
confirmation. message
displayed. User
recieves
confirmation.
TC018 Insufficient funds Selected a Payment Payment fails Payment fails
product and information
scheduled a with
pickup insufficient
funds
TC019 Invalid payment Selected a Invalid Pament fails. Error Pament fails.
information product and payment message dsiplayed Error message
scheduled a information indicating invalid dsiplayed
pickup (incorrect card payment indicating
no., expiry information. invalid
date, CVV) payment
information.
TC020 Payment gateway Selected a Payment Pament fails. Error Pament fails.
error product and gateway error message dsiplayed Error message
scheduled a (Server error, indicating payment dsiplayed
pickup connection gateway error. indicating
timeout) payment
gateway error.
Table 4. 30: Payment Test Case Table
55