00FAINAL DOCUMENTATATION 1
00FAINAL DOCUMENTATATION 1
For
NAME ID
Ermias Antigegn BDU105648
Hailegebreal Muche BDU135689
Amanuel Awulew BDU1305987
Daniel Mandie BDU1306073
Advisor: Temesgen W
20017 E.C.
Temesgen W ………………. .
Faculty: Computing
Program: Degree
Project title: Resource Waste Control and Donation application
The following role assignment matrix and put a tick mark ( ) under each member in line with each task To
indicate who has participated in carrying out the activities to produce the draft deliverable for discussion to the
group so that they will discuss on the issue and come to consensus. Finally each group member will well
understand the entire work of the project by sharing experiences among The Colleagues.
We would like to extend our heartfelt gratitude to everyone who supported and guided us throughout
our project. First and foremost, we are profoundly thankful to God. We would like to offer a special thank
you to our advisor for his invaluable guidance, encouragement, and expertise. His insights and advice have
been instrumental in the successful completion of this project, and we are genuinely appreciative of his
mentorship and patience.
We would also like to express our gratitude to all the staff members and students of BiT for their
friendship support from idea to interviews and also their multi-dimensional support.
Lastly, we are grateful to our friends and family for their unwavering encouragement and support during
our journey. Thank you all for making this experience both rewarding and memorable.
The project entitled as Resource waste control and donation application aims to develop an integrated web
and mobile application focused on reducing resource waste and facilitating donations. The application
enables users to donate surplus resources, such as food, clothing, and household items, to local charities
and individuals in need. The platform incorporates features for efficient resource management, including
categorization, location-based matching, and real-time inventory tracking.
The web application is built using React.js, providing a robust and dynamic user experience, while the
mobile application is developed with Flutter, ensuring cross-platform compatibility and a seamless user
interface. By providing both web and mobile interfaces, the application ensures accessibility and
convenience for users across various devices. The project encompasses a comprehensive analysis of
current waste management practices, the design and development of the web and mobile applications, and
a usability study to evaluate their effectiveness. The anticipated outcome is a scalable and user-friendly
solution that fosters a culture of giving and environmental responsibility.
1.1. Background
The project focuses on addressing the critical issue of resource waste and inefficiency in donation
processes. Resource waste, particularly in the form of food, clothing, and household items, is a
prevalent problem that affects both urban and rural communities. The goal of this project is to develop
an integrated web and mobile application that facilitates the donation of surplus resources to charities
and individuals in need. By leveraging technology, the application aims to streamline the donation
process, reduce waste, and promote sustainability.
While this project is not being developed for a specific organization, it is designed to be adaptable and
usable by any organization that participates in donation activities. This includes non-profit
organizations, community groups, religious institutions, and government agencies. These organizations
often face challenges in managing donations efficiently, ensuring that resources reach the right
beneficiaries, and minimizing waste. The application will provide a comprehensive solution to these
challenges, enabling organizations to better serve their communities and maximize the impact of their
donation efforts.
The key business process to be automated by this project is the donation management process. This
process includes several critical steps:
Resource Collection: Donors can list surplus resources they wish to donate, including details
such as type, quantity, and condition.
Categorization: The application categorizes donated resources for easy organization and
management.
Matching: The system matches donations with suitable recipients based on factors such as
location, needs, and availability.
Inventory Management: Real-time tracking of available resources, ensuring that inventory
levels are accurate and up-to-date. Distribution: Coordinating the logistics of resource
distribution to ensure that donations reach their intended beneficiaries promptly and efficiently.
Feedback and Reporting: Collecting feedback from both donors and recipients to improve the
donation process and generate reports on donation activities and impact.
The automation of these processes will lead to increased efficiency, reduced resource waste, and
enhanced transparency in donation activities. By providing an intuitive and user-friendly platform, the
application will encourage more individuals and organizations to participate in donation efforts,
ultimately fostering a culture of giving and environmental responsibility.
Despite the presence of affluent individuals and businesses, a considerable divide exists between the
wealthy and those in need, leading to ineffective resource distribution.
Consequently, excess resource including food is often wasted by restaurants, hotels, and events,
Governmental and other private sector organizations while many individuals and families struggle to
secure adequate nutrition.
The absence of a structured system for facilitating resource donations especially food further
exacerbates this dilemma, leaving both food waste and hunger unaddressed. The need for a solution to
this problem is critical. Resource waste including food not only represents a loss of valuable resources
but also contributes to environmental degradation and economic inefficiency.
By implementing the “Resource Waste Control and Donation Application, “we can create a
platform that bridges the gap between resource donors and those in need.
1.3. Objectives
1.4. Methodology
This qualitative data helped in understanding the functional and non-functional requirements of the
system. Additionally, the observation method was utilized to directly monitor and analyze the current
resource waste practices and donation processes. This allowed for the identification of inefficiencies
and gaps that the new system aims to address. By leveraging these complementary techniques, a
comprehensive set of requirements was formulated, ensuring the application is user-centric and
addresses real-world challenges effectively.
The gathered requirements were then structured using an Object-Oriented (OO) approach due to its
several advantages. The OO approach promotes modularity by breaking down the system into smaller,
manageable objects, each representing real-world entities. It enhances code reusability through
inheritance and polymorphism, making the system more scalable and easier to modify. Additionally,
the OO approach improves maintainability by encapsulating data and behavior within objects, reducing
dependencies and making it simpler to manage changes.
The system leverages a NoSQL database for efficient data management, React.js for the web-based
system, and Flutter with Dart programming for mobile app development. The Unified Modeling
Our project employs a comprehensive implementation methodology, leveraging modern tools and
technologies to ensure a robust and efficient development process. For the web-based system, we
utilize React.js along with various frameworks to create dynamic and responsive user interfaces.
For the mobile application, we rely on Flutter with Dart to deliver a seamless cross-platform
experience. The backend is powered by Firebase, providing a real-time database, authentication, and
cloud storage solutions. To enhance the user experience, we use Figma for UI/UX design, ensuring a
visually appealing and user-friendly interface.
Additionally, PowerPoint and Microsoft Word are utilized for thorough documentation and
presentation purposes. This combination of tools allows us to effectively create, debug, maintain, and
support our program and application, ensuring a high-quality and reliable end product.
1.5 Feasibility
1. Economic Feasibility
Cost Analysis: Since all tools and resources are free, there are no direct financial costs
associated with the project.
Funding Availability: Not applicable as there are no monetary costs.
2. Technical Feasibility
Technology Requirements: Free tools and resources have been identified and are available for
use.
Expertise: The team possesses the required technical skills and knowledge to complete the
project.
Scalability: We ensure that the project's design and infrastructure can accommodate future
growth if needed.
Risk Assessment: We have identifying potential technical risks, such as limitations of free
tools, and prepare mitigation strategies.
3. Time Feasibility
Timeline: we have create a detailed project timeline with key milestones and deadlines,
ensuring we account for potential delays.
Resource Availability: We confirm that all necessary resources, such as personnel and
equipment, are available when needed.
Project Management: We are going to implement a robust project management plan to track
progress and manage tasks efficiently.
Contingency Planning: W will develop contingency plans to handle unforeseen events or
delays.
The significance of the project lies in its ability to address the pressing issue of resource waste,
promoting efficiency and environmental sustainability while enhancing user satisfaction. The positive
impact of the project will extend to the broader community, contributing to a more sustainable and
socially responsible society. By sharing knowledge and best practices, the project can inspire further
advancements and community engagement in the field of waste management and donation facilitation.
No Cash Donation Feature: The application currently does not support monetary donations,
which could limit its appeal to users who prefer to donate cash. This may also reduce the overall
impact and resources available for donation, as cash can be used to purchase specific items
needed by charitable organizations.
Delivery and Logistics Issues: Coordinating the delivery of donated items can be challenging.
There may be issues related to transportation, storage, and timely delivery of donations to the
intended recipients. These logistical challenges could lead to delays or complications in the
donation process, reducing the efficiency and effectiveness of the system providing tutorial
online
BAHIRDAR INTITUTE OF TECHNOLOGY Page 6
To mitigate these limitations, consider the following potential solutions:
Integrate a Cash Donation Feature: Adding functionality for secure cash donations could
expand the range of contributions and enhance the impact of the application.
Partnerships for Logistics: Collaborating with logistics companies or local delivery services
could help streamline the transportation and delivery of donated items, ensuring they reach the
intended recipients efficiently.
By addressing these limitations, the project can further improve its functionality, user satisfaction, and
overall impact on resource waste control and donation activities.
User Registration and Authentication: User account creation, login/logout, profile management,
password recovery.
Resource Listing and Categorization: Adding new items for donation, categorizing items (e.g.,
clothing, food, and electronics), updating and removing items.
Donation Matching: Matching donated items with suitable charitable organizations or individuals,
providing recommendations based on needs and location.
Communication and Notifications: Sending notifications to users about new donation opportunities,
updates on donation status, reminders for upcoming events, and communication between donors and
recipients.
Inventory Management: Tracking donated items, managing inventory levels, and generating reports
on donation activities and resource utilization.
Delivery and Logistics Coordination: Coordinating the pickup and delivery of donated items,
tracking delivery status, and managing logistics-related issues.
Reporting and Analytics: Generating reports on waste reduction, donation activities, and impact
analysis, providing insights into user behavior and application performance.
Data Security and Privacy: Ensuring secure storage and transmission of user data, implementing
privacy policies, and compliance with data protection regulations.
Scalability and Performance Optimization: Ensuring the application can handle increasing numbers
of users and donations, optimizing performance to provide a smooth user experience.
User Support and Help Desk: Providing support for user inquiries and issues, offering FAQs and
troubleshooting guides, and enabling users to contact support teams.
1.10. Methodologies
Gathering data is a main thing to do or develop any system to solve existed problem the first thing is
collecting relevant data. So, we try to use different data collection methods: Interview, Observation,
Questionnaire and Internet are the main methods we use to collect information needed. For model
designing of proposed system we will use Unified Modeling Language (UML) and we are going to
develop user friendly system using PHP programming language at the back end.
Interview:-To get the basic information and background information about the existing management
system, before interview the team members we use a systematic sampling techniques. We select
Coordinator of the organization because of the Coordinator well knows about the organization work
follow and structures in detail. And also we interview Students because of the Students easily know the
problem of the Collage, and the problems associate with that environment.
Questionnaire:-we prepare question to get more information. Because when we use observation and
interview data gathering methodology we cannot get enough information about the Collage. So we
select the Collage Coordinator and give the Question. The condition occurs by question and answer
with the Finote birhan collage Coordinator.
And next this system uses an Iterative model Approach, Because of selecting this approach from other
approaches its projects the development process in cyclic manner repeating every step after every cycle
Feasibility study is used to investigate the proposed system in multiple dimensions. It is used
to indicate whether the system is feasible or not.
Technical feasibility is the measure of practicality of the specific technical support and the
availability of technical resources and expertise to use the system. The proposed system can
be easily maintained and repaired without requiring high Experts or technical supports,
because the system will be installed in adaptable environment and the employee of the
organization will be given training or guidelines on how the system works so the system is
technically feasible.
Economic feasibility is the process of identifying the financial benefits and costs associated with
the project being developed. So the project is economically feasible because the project reduces the
cost of the resources but Economic Feasibility is expressed as cost-benefit analysis. Costs our
system uses new technology and have centralized database cannot need more resources. It requires
minimum amount of cost. The estimate cost of resources that we use to develop this project
BAHIRDAR INTITUTE OF TECHNOLOGY Page 12
Types of costs Tool name Quantity Unit price (in Total price (in
Birr)
Birr)
Pen 1 15 15
Project
Proposal
Require
meant
analysis
Design
Implem
Entation
Testing
REQ-1: The system shall allow System Administrator to Create User Account
REQ-3: The system shall allow System administrator to Deactivates User Account
REQ-4: The system shall allow System administrator to Activates User Account
Student
Registrar officer
REQ-1: The system shall allow the Registrar officer to Register Students
Coordinator
Instructor
Department-Head
A use case diagram is a summary of who uses the system and what they can do with it. It
describes the relationship among the requirements, users and the major components of the
system. Use case diagram shows the relationships between users (actors) and use cases with in a
system or applicant. They provide an overall view of how the systems are used and the various
roles and actions that take place within the system
Pre-condition The user who wants to login must have user name and password.
Post-condition The authenticated user gets the appropriate page.
User gets access to the system according to their predefined system privilege
and
Actor Coordinator
Pre-condition The Coordinator should prepare file to upload And Coordinator should have
to enter a valid user name and password.
Extends ____________________
Include Login
Flow of event step 1. The Student should click on download module link.
2. He/she enter module code and module name
3. Student click on download file button
Alternative flow if file not downloaded it shows No file message and the Student try to down
load the file
If submission date has been passed the Student cannot upload the
Alternative flow assignment so, Student must submit on the provided date.
Alternative flow If the same id is present on the same academic year the system displays this Student
already registered message. So the registrar officer must give unique ID for each
Student on the same academic year.
Pre-condition The user should have an account and the users should know the current
password to change them.
Actor Coordinator
Pre-condition To assign the instructor First the instructor present in the Collage
Post-condition 1. The Instructor assign successfully 2.
Finally logout from the page.
Extends __________________
Include Login
Identifier Uc14
Actor Coordinator
Extends _______________________
Include Login
Extends _______________
Include Login
1. Registrar clicks on generate report link.
Flow of event step 2. Then he/she fills generate report code.
3. Then he/she click on view button.
Alternative flow If the Registrar fills incorrect Report he/she must check it.
Identifier Uc20
Description The Instructor insert the result of Students
Actors Instructor
Pre-condition 1. First Enter Username and password to login
Extends __________________
Include Login
1. Instructor selects the submit option. 2.
System displays submit result page.
3. Instructor selects which course result to be submit.
Flow of events 4. The system submit result Use case ends.
Identifier Uc21
Actors Coordinator
Pre-condition First Enter Username and password to login
Extends ____________________________
Include Login
Extends _______________________
Include Manage Course
1. The Student selects the add/drop form.
2. System displays add /drop course form.
3. Then Students fill the appropriate information to add/drop
Flow of events course.
Actor Student
Pre-condition 1. There should be posted result by instructor.
2. Instructor should have to enter a valid user name and password in
order to post course result.
Extends ___________________
Login Login
1. Student clicks on view course result link.
Flow of event step 2. Then he/she fills course code.
3. Then he/she click on view button.
Alternative flow If the Student fills incorrect course code he must check it.
Prototype is simulation of real thing. It is also a model of system or subsystem under system. The
prototypes of the system can show in paper based or computer based. They can model the entire system
with real data or just a few screens with sample data. Prototyping is the process of developing prototype.
Is a one method of requirement analysis technique? The following prototype shows FBCDEMS system
Activity diagrams, which are related to program flow plans (flowcharts), are used to illustrate activities. In
the external view, we use activity diagrams for the description of those business processes that describe
the functionality of the business system. Contrary to use case diagrams, in activity diagrams it is obvious
whether actors can perform business use cases together or independently from one another. Activity
diagrams allow you to think functionally. Purists of the object-oriented approach probably dislike this fact.
On the other hand, regard this fact as a great advantage, since users of object-oriented methods, as well as
users of functional thinking patterns, find a common and familiar display format, which is a significant aid
for business-process modeling. Because it is possible to explicitly describe parallel events, the activity
diagram is well suited for the illustration of business processes, since business processes rarely occur in a
linear manner and often exhibit parallelisms. Activity diagrams can be developed in various degrees of detail.
They can be refined step by step. In the external view, activity diagrams, just like use case diagrams,
exclusively.
A sequence diagram links use case with objects. It shows the interaction between participating objects in a
given use case. It is helpful to identify the missing objects that are not identified in the analysis object model.
From the use case and the class diagrams shown in the previous section the sequence diagrams of the system is
shown as follows:
Begin
Get username;
Get password;
Begin
End
Else
Begin
End
End
______pseudo code for method: register (); _________
Method name: register ();
Begin
Get: first name, Father’s name, Grandfather Name, age, sex, Region, Contact Name
If (valid data)
End
Else ()
Begin
Then
End of else
End
Begin
Get: first name, father’s name, Position, Uid
search (first name, father’s name, Position,
uid);
If (found)
Begin
Display information;
End
Else ()
Begin
End
End
Begin
Get id;
If (true)
Begin
Begin
End of if
Else if
Begin
End of else if
Else
End
Non-Functional requirement explains and describes the user visible aspects of the system. Constraints on
the services or functions offered by the system are constraints of timing, the development process;
standards, etc. are things we have to focus on developing new systems to achieve its functionality. Non-
functional requirements are requirements which specify criteria that can be used to judge the operation of a
system. This is contrasted with functional requirements that specify behavior or functions. The new online
distance education management system for Finote Birhan College of Teaching education has the following
Non-Functional Requirements to achieve its functionality:-
Usability
Usability mean the system is user-friendly which is easy to learn, use, input data interpret outputs of system
or component and operate. The User interface for this system will be simple and clear. The distance
education services are easy to gain and use i.e. the service doesn’t require expert. To say system is usable
or user friendly we need to develop:-
Performance:-Performance is the ability of system to response quickly and optimal workload. Is how fast
(speed) of operation of a system. Which is mean:- How much the system can accomplish within a
specified amount of time. How quickly the system reacts to a user input. The system will give response to
the users in duration of 16 minute without delaying much time.
Security:-Security is how we protect the system from unauthorized access. Is identification of the system
user which part is allowed to access and who has permeation to access .So it needs to have:- We need to
have very strong user name and password in order to secure the system. It is designed to be very secure
by providing a login feature which authenticates the user by means of a user name and password. Which
user will be able to login to his/her respective pages and use the system?
Reliability:-The system is effective and consistent in that integrity of information is maintained and
supplied to the system. Is the ability of a system to perform its required functions under stated conditions
for a specific period of time?
Portability:-The system is machine and software system independent. It can run to different target
platforms. It not affected by type or required hardware or software
Documentation content:-The system contains the required documents needed to implement the project.
Accuracy: The level of accuracy in the proposed system will be better due to reduction of error. The
system should give correct output for the users when they want to get services.
Availability: the system will be available at any time for users regarding to the presence of
Internet/Intranet.
Memory, Flash.
Printer
CHAPTER THRE
3. SYSTEM DESIGN
3.1. Introduction
System design is the transformation of the analysis model into a system design model. System design is
the first part to get into the solution domain in a software development. This chapter provides the design
part of the project is discussed. The system design is the building block of the system. It also transforms the
analysis model into system design model. The result of the system design is the model that includes the
clear description of software Architecture, deployment diagram, design class model, component diagram.
Generally the purpose of this design phases is to determine how to build the system and the information
needed to device the actual implementation of the project.
In this project the team uses a three-tier architecture which has three layers. These three layers are the
Application or Presentation layer, the business layer and the data access layer. Application or presentation
layer is the form which provides the user interface to either programmer or end user. The business layer is
the class which the team uses to write the function which works as a mediator to transfer data from
application layer or presentation layer to data layer. This layer also has a property layer which is a class
where variables are declared corresponding to the fields of the database which can be required for the
application and make the properties so that the team can get or set the data using these properties into the
variables. The third tire is the data access layer which is also a class to get or set data to the database
Components are generally units of computation or operation in the system. A component has a
name, which is generally chosen to represent the role of the component or the functions online
distance Education management system for Finote Birhan Collage in Dangila Branch. The
different components of a system are likely to interact while the system is in operation to provide
the services expected of the system. After all, components exist to provide parts of the services and
features of the system, and these must be combined to deliver the overall system functionality.
Deployment diagram shows the physical relationship between software and hardware components in the
delivered system and also it show the hardware in the organization will be connected and which component
of the software will be deployed in hardware
Class is a description of a set of objects that share the same attributes, operations, relationships, and
semantics. Graphically, a class diagram is drawn as a rectangle with three compartments holding the class
name, attributes, and operation.
Class Names: Every class must have a name that distinguishes it from other classes. A name is a textual
string. That name alone is known as a simple name; a qualified name is the class name prefixed by the
name of the package in which that class lives.
Attributes: An attribute is a named property of a class that describes a range of values that instances of
the property may hold. A class may have any number of attributes or no attributes at all. An attribute
represents some property of the thing you are modeling that is shared by all objects of that class.
Operations: An operation is the implementation of a service that can be requested from any object of the
class to affect behavior. In other words, an operation is an abstraction of something you can do to an object
that is shared by all objects of that class. A class may have any number of operations or no operations at all.
The entity relationship diagram describes the relationship between entity with their cardinality and their attributes.
1. Department Head
3. Admin
Fname Mname Mname Lname Admin _id sex Kebele Zone City
4. Result
5. Coordinator
6. Student
Normalization is the branch of relational theory that provides design insights. It is the process of determining how
much redundancy exists in the table. The goals of normalization are to:-
1. Department Head
1.1 Address
Dep_head-id Address
2. Instructor
2.1 Address
Inst_id Address
3. Admin
4. Result
5. Coordinator
CHAPTER FOUR
4.1. Conclusion
This project which has two phases; the first phase concerned with the analysis phase of the life cycle,
the design phase and the next phase is about implementation. As the end of the first phase, we need
to review that we have covered in accordance with what we have planned at the beginning. We
began our work by identifying the significance of automated system for the store and the overall
techniques to be used in the development process. This involved defining the system development
methodology, identifying process. This involved defining the system development methodology,
identifying resource and cost requirements, and setting the deliverable and scheduled for the project.
The analysis helps the team to well understand the major functional areas and processes of the system.
Through this method we evaluate the existing system weakness and strength. After that, we performed
requirements elicitation to discover user and system requirements. This phase consisted of drawing the
functional as well as non-functional requirements of the system. Then we have undertaken a major phase in
system development process: object oriented Analysis. Here, we tried to model the new system we
proposed using UML diagrams: Use case, sequence, and activity and class diagrams Also, we designed the
new system user interface prototype.
4. Demiray, U. and Isman, A. (1999), “History of distance learning”. [On-line]. Available at:
http://home.anadolu.edu.tr/, udemiray/&Histo.htm. [April 26, 2016].
Interview Question
1. When was your organization started?
2. What type of service your organizations give?
3. What type of works is performed in your organization?
4. How many employees are there in your organization?
5. What type of criteria is needed to register the students?
6. In what way the students are view there result?
7. In what type way of the Student get the module?
8. How to manage the employee?
9. How to protect your students file?
10. How many departments are found in your organization?