Vous êtes sur la page 1sur 41

Running head: Capstone Final Report

Capstone Final Report

iDonify: Grace Alvarez, Jose Garcia Ledesma

CST499 Directed Group Capstone

Dr. Eric Tao & Brian Robertson

California State Monterey Bay

June 18th, 2019


Capstone Final Report 2

Table of Contents

Executive Summary ………………………………………………………………………... 4

Part I …………………...………………………………………………………………....... 5

Introduction …………………………………………………………………....….... 5

Problem and/or Issue in Technology 4


………………………………………..

Solution to the Problem and/or Issue in Technology ……………………… 4

Project Goals and Objectives ………..…………………………………...... 6

Stakeholders and Community ………..………………...…………....……... 8

Environmental Scan and Literature Review ………..………………...……. 9

Part II ………………...…………………………………………………………………... 11

Design Requirements ………………………………………………………………. 11

Functional decomposition for the Project ………………………………….. 11

Selection of Design Criterion ………………………………………………. 13

Final Deliverables…………………………………………………………... 13

Approach and Methodology ….……..……………………………………....……... 14

Contributor Objectives ……………………………………………………... 16

Stage 1: Discovery …………………………………………………………. 16

Audience and Collaboration ……………………………………………….. 17

Analyze and Review ……………………………………………………….. 17

Stage 2: Design …………………………………………………………….. 17

Stage 3: Development ……………………………………………………… 18

Legal Considerations ………………………………………………………………. 18

Ethical Considerations ……………………………………………………………... 19

Part III ……………………………………………………………………………………... 22


Capstone Final Report 3

Timeline ……....……………………………………………………………………. 22

Budget …………………………………………………………………………….... 25

Usability Testing/Evaluation ………………………………………………………. 25

Final Implementation…………………………………...…………………………... 27

Conclusion …………………………………………………………………………. 29

References ……………..………………………………………………………………….... 32

Appendix A …………....………………………………………………………………….... 33

Class Diagram …………………………………………………………………...…. 33

Appendix B …………....…………………………………………………………...………. 34

Usability / Testing Plan Diagram …………………………………………………... 34

Team Member Roles and Responsibilities …………..……………………………... 34

Appendix C ……………………………………………………………………………….... 36

Appendix D ………………………………………………………………………………... 38

Appendix E ………………………………………………………………………………... 41

Executive Summary
Many professionals can agree that technology has grown and continues to become an

important part of everyday life as it keeps evolving. Although students and professionals are very

dependent on technology it is not always readily available. Many communities still lack adequate
Capstone Final Report 4

technical knowledge and equipment. This gap between underprivileged low-income communities

with little to no access to technology and privileged wealthy and middle-class families with

access is known as the Digital Divide. Electronics accessibility, service availability and proper

technology information can contribute to reducing the digital divide gap that still exists today.

In many lower-income communities, there are hard-working families doing their best to

provide their children with the electronic devices they need for education, but it can be extremely

difficult, especially if it’s a big family. Families in these situations need to prioritize how to

spend their money. In many situations, the higher costs of living and low-income salaries

continue to increase the gap of the digital divide. Underprivileged communities look for sources

of support that can provide them with access to technology by going to libraries and other places

that would allow them to get free access to both technology and the internet. Even when there are

many institutions that work hard to continue providing access to the community, there is still

more that can be done. iDonify plans to combat the digital divide by providing low or no cost

electronic devices to low-income families. Many individuals have devices just sitting at home

that are no longer being used. They either don’t know what to do with them or don’t know how

they can recycle them. This system would give people an easy way to become a donor or even

find a way to volunteer if they wished to do so.

The goal of this project is to create a website that a nonprofit organization can use to

accept donations of electronic devices and offer repair services. It would include an

administrative panel for administrators to manage donations and user data. This allows the

organization to keep track of all records. A key part of donations is knowing exactly who is

donating and how are those donations distributed. Being able to have a better and clear
Capstone Final Report 5

perspective of important details can help the organization focus on growing the number of

donations to bridge the digital divide gap.

Part I

Introduction

The name of this project is iDonify. It is a web-based application that allows users to

register to the site and store that user data into a database. A user will have to verify their email

before they can proceed to login in. Once logged in a user has the ability to become a volunteer,

donate a device, or both. All donations are stored in a database. A user can see their donation

history by simply clicking donations. There will be a link showing donated devices. A user

would also be able to request repair services for computers and be able to see a history of repairs

done.

The administrative dashboard is only accessible by users marks as administrators. These

administrators will have the ability to create users and mark them as admin or regular user. The

admins will also be able to see all registered users and see all donations made by the user. They

will be able to see a list of repair services in progress and completed. To access the admin

dashboard administrators will go to idonify/admin.php. This will have them log in under their

admin account and they will see the admin dashboard with choices for users, donations, and

repairs.

iDonify gives nonprofits the tools they need to manage their data and keep track of

donations. It will give nonprofits the ability to keep track of all volunteers. This web application

is meant to be used over an internet connection so it can be accessed remotely if needed. This is a
Capstone Final Report 6

perfect starter website for nonprofits looking to organize their data and be able to edit and view

that data.

Project Goals

The goal for this project is to build a web-based application for a future nonprofit

organization that will allow users and volunteers to log in, register, sign up for events and donate

electronic devices and see their donation history. Users needing repair services would be able to

request repair services and if repairs were done they would see a history of those repairs. On the

administrative side, it would keep track of all registered users, the number of donations given,

track donor members, and track the recipients of the low or no cost devices or services received.

A nonprofit organization member would be able to access their organization’s data from any

computer if there is an internet connection. Administrative members would have top privileges

and be able to read and write over existing data.

In order to receive a repair service or device, users would have to provide proof that they

are low income. That information would then be securely stored in a database. Anyone who is

willing to volunteer and provide a service type donation would be able to sign up through the

web application and sign up for events, learning to repair, or just providing donations. The

project will be beneficial for both the organization, donors and volunteers as well as community

members. To summarize, the project goals will be divided into goals that are related to the

project functionality and goals related to the user interface. Every smaller goal will contribute to

achieving the final main goal which is having a fully functional application that is accessible,

user-friendly and serves the purpose of keeping track of records.


Capstone Final Report 7

Project Objectives
● Allow connection between the organization and donors, volunteers and community

members in need of a low-cost electronics repair services or low and no cost electronic

devices

● Allow the organization to create an admin account

● Allow donors, volunteers, and community members to create a user account

● Allow members to fill out a form and indicate the device or service they are interested in

receiving

● Allow donors to see their donation history table

● Allow users to see repair services history table

● Allow the organization to access the admin dashboard showing users registered,

donations made and user request information

● Allow the organization to edit information in the admin dashboard regarding donor

contact information, user registration details

● Allow the organization to keep a list of what is been donated and how it was distributed

● Allow members to interact with the organization whenever they have questions

Stakeholders and Community


iDonify aims to bridge the digital divide by providing low or no-cost computers to low-

income families and seniors. iDonify will also provide low-cost repairs to clients. This

organization will train volunteers to perform software and hardware repairs on devices. This

gives volunteers hands-on experience as well as a good working understanding of computers.

Providing these services to the lower income community will allow people to successfully

complete schoolwork with office programs as well as connect to the internet. The internet has
Capstone Final Report 8

become a key tool in many parts of school and life. It is a necessity to be able to apply for jobs

online, pay bills, research for school or engage in online learning.

The digital divide exists through lack of internet connection, lack of computer ownership,

and lack of skills in technology due to limited access. The digital divide corresponds closely to

inequality of income, education, race, ethnicity, age, immigration status, and geography. This

affects everyone, but the majority is the youth in the community that cannot learn at the same

rate as those that have easy access to internet capable devices. The internet has opened up a

world of information and opportunity for many people, but there are still millions of people

without access to the internet. Having access to technology will prepare civilization for a better

future. Technology will be critical in efforts to fight poverty, hunger, equality, etc. Not providing

the same technology and educational opportunities for lower-income students are not preparing

them for the technology wave that is the world today. This program will work to bridge that gap

by actively seeking donors and volunteers to provide the needed resources. The program will be

based locally to start but is envisioned for a national platform. This organization seeks to partner

with other local non-profit organizations, schools and agencies to develop a foundation for

growth.

Environmental Scan and Literature Review


Digital inclusion has been around since the 1990s. Technology has made connections and

has arrived into conclusions to meet people’s everyday needs. Technology has created many

opportunities for growth in business, manufacturing, education, government, etc. Today most

companies operate in a global market. This has made way for companies to keep manufacturing

costs low and provide competitive pricing for digital devices. This has made access to devices

easier. Technological companies have also marketed products for education. They have made
Capstone Final Report 9

software applications user-friendly, so they can be used in classrooms and can tailor a learning

plan per student. Not all classrooms or students have access to the resources, there are those that

do become tech-savvy, while those that don’t, fail to adapt and fall behind. As the access to

devices becomes easier, internet access falls short. All devices today are made to connect to the

internet. Without the internet, if a user has a device they cannot keep up if their internet

connection is non-existent.

Equal opportunity is necessary to bridge the digital divide. Empowerment is also

necessary. Empowering students to learn with the use of technological tools puts individuals in a

better position to thrive in the future. In addition, new technology comes with new software,

which leads to new methods of studying. There are many interactive learning resources online

that tailor to individuals that are considered hands-on. With better resources of studying, more

creative solutions can be created to help with global issues of the future such as hunger, poverty,

etc.

Organizations dedicated to bridging the digital divide by providing devices to lower-

income families do exist. Most organizations are at the local level. Each organization has a

similar mission. Each organization is also saving thousands of pounds of electronic waste by

making older devices useable again. The contribution made by these types of organizations is

beneficial for society in different areas. It provides benefits to the environment and to the

community. Organizations many times receive help through individuals that contribute with

devices that they no longer need which is great because someone else can reuse it, but

organizations also need some sort of way to manage their donations and contributors that way

they can focus on what they do best.


Capstone Final Report 10

An organization already doing something similar to this project is Power Up. “Power Up

was formed in 2010 in response to increasing demand for the inclusion of information and

communication technology as a compulsory subject in all education curricula worldwide and for

the facilitation of recruitment of teachers and provision of the necessary technical equipment to

educational institutions all over the world. PowerUp is a 501(c)3 organization based in Texas

and led by global educational technology ambassador Liza Mucheru Wisner” (PowerUp, 2019).

Their aim is to set up to raise funds for projects aimed at making technology available to children

all over the world. Their mission is to ensure that all children, especially those at risk of being

left behind, have the resources and the opportunities they need to grow up healthy and lead

productive lives. PowerUp aims to develop and discover ways to connect more children with the

tools that will inspire them to develop into engaged global citizens.

The difference between PowerUp and iDonify is PowerUp provides mostly technical

education to better equip children for the future while iDonify provides the devices necessary to

connect to the internet or do schoolwork. PowerUp is an organization on a larger network. They

operate globally. PowerUp has workshops and training labs for career coaching, leadership

training, project and business management training, real-world training and work experience,

career and network opportunities, and much more. Their technology education teaches young

kids technology concepts, problem-solving skills, listening comprehension and hands-on

learning. iDonify would be geared more towards young adults and low-income families.
Capstone Final Report 11

Part II

Design Requirements

Functional Decomposition of the Project


The project was designed to allow a non-profit organization to keep a donation and user

history and allow the low-income community to request repair services or low-cost electronic

devices such as computers. Administrators of the site will be able to manage donations, users and

add comments to donations and users. The site is easy to use so there is little training required to

use and manage it. During this process, the site was designed to ensure user-friendliness,

performance, and functionality.

Regular users of the site will have the ability to create an account where they will be able

to log in and donate a device, or request a repair service or device. The donation and repair

request forms will be hidden until a user is registered and logged in. The user can also sign up to

be a volunteer where they will fill out a google volunteer form. The forms data will then be

emailed to administrators of the google account.

Administrators have access to the admin dashboard. The admin dashboard allows an

admin to see all users and all donations. An admin can filter through and edit or delete a user.

The admins can also view donations. Donations are tied to user email so it is clear who donated.

Administrators can also create other administrative users or other regular users.
Capstone Final Report 12

Selection of Design Criterion


iDonify is a web application created using PHP and SQL. It is hosted on Heroku and this

web application requires its users to access it through a web browser. Heroku is managed within

Amazon’s secure data centers and utilizes the Amazon Web Service (AWS) technology.

Amazon’s data center operations are accredited under the following:


Capstone Final Report 13

● ISO 27001
● SOC 1 and SOC 2/SSAE 16/ISAE 3402 (Previously SAS 70 Type II)
● PCI Level 1
● FISMA Moderate
● Sarbanes-Oxley (SOX)
Heroku performs penetration testing and vulnerability assessments via third party independent

and reputable security consulting firms. Heroku also uses the following to prevent penetration:

Firewalls, DDoS Mitigation, Spoofing and Sniffing Protections, and Port Scanning.

The costs associated with running the web application are minimal and less than $100

annually due to the small size of the code and a small amount of users and admins. Because

traffic will be very light initially, there is no need for a large server to run it. Heroku will work

for this project and is no cost. There has been no cost to the team currently as working on Heroku

and Github have been free services.

Final Deliverables
Upon completion of this project, the team will have delivered a web application that has a

user-friendly interface for both admin and regular users. Website performance will be quick and

efficient. The web application will have a friendly user interface that will complement simple

functionality to give the user the best experience possible. When a user is logged in, they will be

able to donate a device and see their donation history. A regular user will be able to sign up as a

volunteer. An administrator will be able to create other users and choose whether the user is an

administrator or a regular user. In the phpmyadmin database, the user and admin tables have a

column for user type. If a user is set as an admin they have access to the admin database. If a

user is set as a regular user, they only have the ability to log into the website and see their
Capstone Final Report 14

donation history. This user type prevents any user from being able to have admin privileges. The

user type is set after a user has been created.

Administrators can also view current registered users and current donors. They can filter

through users by searching for a part of the username or email. Admins can edit and delete users

and set user types. Admins will also be able to keep track of donations by the donor in the admin

panel. Currently, only device donations can be made. The team decided against accepting

monetary donations for the purpose of security.

The team will deliver documentation, testing and source code for the web application.

The team has created a project repository on GitHub for the purposes of pair programming and

code availability. The documentation lists out a step by step on how to use and manage the web

application. It includes steps from registering as a regular user to managing the administrative

dashboard.

Approach and Methodology


The project methodology used in completing this project is the Scrum framework. The

team added all priority items to be completed to make the project successful have been added to

the pivotal tracker. Pivotal Tracker is a good agile project management tool that allows real-time

collaboration around a shared, prioritized backlog. Research on similar nonprofits was done

allowing the team to gather specific detailed information about how the organization functions

and how the project will be beneficial to a similar nonprofit. This has been a key aspect of

managing the project. This has ensured this project is being designed for a nonprofit organization

that will be able to track donations, users, and volunteers. Using the scrum process, development

and testing are done concurrently to ensure the project is done to a specific user need.
Capstone Final Report 15

Pivotal Tracker allows the team to keep track of the different development stages

throughout the entire project. It keeps track of the different features and functionality that needs

to be added and also monitor what has been completed by which team member. This approach of

managing the project will make the development process easier because it will allow the team to

set up different goals or milestones based on the project development velocity. Everyone on the

team will be able to see the updated state of the project as new changes are made. This project

will accurately keep documents showing how this will bridge the digital divide, what economic

sustainability is, and why it is important to provide these services. Keeping all necessary

documentation is important because it will allow the project to stay on track accordingly to the

main purpose that is trying to be achieved by the final project.

Another process that will be followed in conducting code review on a constant basis, this

will ensure that the different project areas are working as expected after every new feature is

added. Because GitHub is being used throughout the project, at the weekly meetings code is

reviewed and committed to the master file if both parties agree on it. Communication with the

persons that will be testing the project, will be another key aspect in order to achieve the

different milestones. To resume, there will be constant project management with checkpoints to

evaluate what is the current project state and where does it need to go next, this will be done

from beginning to end to ensure the project development is been done correctly and is on track to

complete by the deadline and keep the project from moving away from the desired final goals.

Contributor Objectives

● Contributors gained experience with creating and managing databases

● Contributors gained experience with creating a user authentication process by storing

logins, using password encryption and store confidential data in a secure manner.
Capstone Final Report 16

● Contributors gained experience with project management

● Contributors gained experience with programming a more complex application that

stores and displays data

● Contributors gained the experience necessary to identify every phase during the

development process and be able to implement the requirements from each of the phases

Stage 1: Discovery

This stage is dedicated to research and discussions about the project goals and objectives.

Discovery is designed to be a starting point to effectively accomplish tasks laid out in objectives.

Talking to non-profit organizations is also an important part of the discovery process. Contact

will be made to Loaves, Fishes & Computers in Salinas, CA to see if there is an opportunity for

testing. Otherwise, the site will be completed as listed in the project objectives and tested by a

focus group chosen by this team. The discovery will contain a project brief, list of site

requirements and design guidelines that will be the foundation of this website application. These

documents will determine the aspects of the website from the style of the site to the way the

information is laid out.

Audience and Collaboration

The primary audience for this website is low-income students and families in the

Monterey County area. A small group of focus testers will offer feedback on the website and

functionality. The website will be custom-built with a fundraising database. There will also be a

volunteer and donor database. Feedback will be sought via phone calls, video chat, or emails.
Capstone Final Report 17

Analyze and Review

This sub-phase will require reviewing all defined goals and audiences for the website.

Discuss the site’s logo, colors, writing style, images, and perspective. The wireframe will

document the look of the website and expand on how specific functions will work. Decide how

the site will look on mobile devices such as a phone or tablet. Review how to analytics would be

incorporated to determine patterns and areas of opportunity. This will draw attention to the most

popular pages of the website and how users were able to arrive there. Determine how to make

sure as many users as possible can view and interact with the site. This means adhering to the

accessibility checklist for senior-citizens, visually-impaired, deaf, color blind, low-literacy and

multilingual users. Review ongoing maintenance for the organization and the amount of time and

people dedicated to performing that maintenance. Discuss the process to review and agree when

content can be modified and update live.

Stage 2: Design

During this stage, all website design will be decided. This includes fonts, images, and

layout styles. Ensure the design is up to the standards of the non-profit organization with a

preliminary design layout done before through Adobe Illustrator. Ensure each webpage is not

lengthy and hard for a user to read. Information will be available immediately, so users don’t

have to scroll through multiple pages to get to the core message.

Stage 3: Development

Web development will be done with HTML, CSS, Javascript, MySQL, and PHP. The

web host will be determined during this phase. The content will be added to each page at this
Capstone Final Report 18

stage. This includes pages like About Us, Privacy Policy, Site Map, Contact Us, etc. The login

functionality, admin login, volunteer forms, donation history, and product inventory will be

added.

Legal Considerations

There are various legal aspects to consider during the development of a website.

Limitation of liability limits the organization's liability in certain situations. The Digital

Millennium Copyright Act (DMCA) protects online service providers from copyright

infringement liability resulting from certain acts by their users. By having this, the organization

registers a dedicated agent with the U.S. Copyright office that will designate that person to

receive all complaints regarding copyright infringement. Other accountability groups like the

Charities Review Council requires non-profit organizations to provide information on how donor

information is collected and used. This should allow the donor to opt-out of making their

information available or shared and may include a discontinue contact policy. Other legal

considerations are the right to reproduce copyrighted work, to openly distribute copies of the

work to the public, perform and display copyrighted work publicly.

The website will have a privacy policy statement based on the California Online Privacy

Protection Act (CalOPPA) with the following:

● Type of personal data to be collected by the website

● How data will be stored and managed

● How users are able to review and change the personal data collected

● How will users be notified of any updates or changes to the privacy policy and effective

privacy policy date


Capstone Final Report 19

Ethical Considerations

Before this project began, the team members discussed major concerns for the project

including respect for intellectual property, confidentiality, and social responsibility. Each of the

previously mentioned areas is related to different ethical aspects that can affect the project

development and also have a negative impact once the project is completed; if no actions are

taken to prevent any ethical issues from rising. Examination of the different areas of the project

will determine the different credit attributions needed and permissions to avoid any copyright

infringement. Another key aspect is to maintain full confidentiality of any information that is

transmitted and stored during the project development and implementation phases. This includes

securing data stored in the web application and guaranteeing it will be sold by a third party. The

capstone project needs to always stay on track to promote social good and never allow in any

way to promote any harm to society.

The plan to eliminate concerns of confidentiality is to implement encryption into the

application being created. This encryption will secure user information, passwords, donations,

etc. Using methods such as Bcrypt encryption will ensure this. Bcrypt is a hashing function that

allows developers to build a password security platform that scales with computation power and

adds salt to the hashing process. Bcrypt adds additional random data to the input of a hashing

function that makes each password hash unique. Donated devices will have hard drive sanitation

to ensure no user data is stored. It is understood that a data breach can be devastating to any user.

Ideally, the non-profit organizer will have an authorized employee, that has passed all

background checks, handling devices and ensuring they are wiped clean.

Regarding social responsibility, it is our mission to re-use donated computers and

recycled parts. Most people will get rid of their devices after just a few years when the first issue
Capstone Final Report 20

occurs, just to upgrade. By receiving these devices as donations, this organization could repair

and provide them to those who have little access to technology. The goal is to optimize waste

management by expanding recycling programs and find recycling partners. Recycling and

disposal practices should meet legal requirements with the goal of reducing waste.

Ethical concerns for this project are providing enough protection on the information

being collected, making sure it isn’t shared with any but the internal organization. Other

concerns for this project are how well the web application is being secured, how policy changes

are communicated and how to address concerns or the misuse of personal data. It is our duty to

make sure no individuals are negatively impacted by signing up to this website or being in

control of this web application.

The environmental impact of the project will be positive because of its aiding in the

process of reusing electronic devices. By having a better way of managing donations of unused

electronic devices, it helps the environment because it will take away devices that would be

usable again instead of becoming e-waste. In the long term, the effects will become more visible

because it will allow anyone who is willing to donate old devices that are functional to get rid of

them in a safe way rather than just throwing them away in a trash can.
Capstone Final Report 21

Part III

Timeline / Budget
The timeline below was completed mostly on time. Areas where issues occurred were in

week 2, 3 and 5. The administrative panel took longer than initially expected so week 2 and 3

was dedicated to implementing that. This required a lot of back-end work. In week 5 the team

ran into an issue with getting the database to connect to the web host. Originally Heroku was

chosen as the web host, but because of the unsuccessful connection to the database in week 5, the

team chose to work with iPage instead. This cost the team a lot of time and was very tough as

week 6 was dedicated to testing and not having a functional website by week 5 meant we were

most likely not going to complete the testing in time. However, the team worked tirelessly to

connect the database to the new web host and was able to complete testing by week 6. Week 7

was dedicated to fixing remaining issues with the site. By the end of week 7 the website was

completed.

Items that were not met during this project were allowing admins to edit and delete

volunteer information in the administration panel. Admins can view the data, but they cannot edit

it currently. Aforementioned issues with the database cost the team time that was needed to

complete this. The areas that are functioning in the administrative panel are the ability to view,

edit and delete users and donors as this was the initial goal of the project. The team initially

wanted to include repair services to the web application, but again due to time constrictions and

lost time on the issues presented during this project, the team was unable to successfully connect

our repair services to the database and administrative panel. This was removed from the site due

to the form not being functional.


Capstone Final Report 22

Timeline

Week 1 (May 1 - May 7): Project Setup


● Wireframe for project to include project features and non-requirements
● Database design
● Connected project to Github
● Verified the host (heroku or other)
● Added stories to pivotal tracker
● Begin initial website setup with basic homepage

Week 2 (May 8 - May 14): User and Admin Setup


● Created user login
● Created test cases for user login
● Created admin
● Created test cases for admin
● Added styling to user sign up
● Implemented active admin on server side
● Implemented ability to add, edit, update and destroy users and admin

Week 3 (May 15 - May 21): Donation Database


● Created a table for donors
● Created a table for donations
● Implemented UI design for donations
● Make donations viewable only to admins
● Tested donations and donor database

Week 4 (May 22 - May 28): Design & Development


● Agreed on final colors, fonts and images
● Validated HTML & CSS
● Verified Top Level Navigation is functioning
Capstone Final Report 23

● Distinguish pages that only “logged in” users can see


● Added content on the organization to site
● Deployed to web host
● Verified databases have been transferred correctly

Week 5 (May 29 - June 5): Focus Group Testing


● Test with focus group of 3 to 5
● Make changes based on feedback

Week 6 (June 6 - June 11): Finalize Site


● Fixed any remaining issues
● Finished any tasks in icebox if time allows
● Verified final version has been uploaded to web host

Week 7 (June 12 - June 18): Practice Project Presentation


● Added any demo video to the final project video in preparation for presentation
● Get powerpoint finalized with topics to cover
● Verified Capstone Project Paper is finalized

Week 8 (June 19 - June 25): Presentation


● Submitted final presentation
● Submitted final paper
Capstone Final Report 24

Budget
The budget was lower than originally predicted. The budget initially was at $70 annually,

but with a change in web host, the budge came in lower at $36.87 annually. Refer to the budget

table below for a breakdown of the budget for this project.

Costs for domain and the first year of hosting

Product or Description Quantity Cost per Month Total Costs per


Service Year

Domain Domain 1 $0** $0 **


iclickin.com

Domain Privacy 1 year (Optional) 1 $12.99 $12.99

Hosting 1 Year Hosting 12 $1.99 $23.88

Total Annual Cost: $36.87

** prices based off of iPage.com

Usability Testing / Evaluation


The team planned on manual testing throughout the project. Many hours, phone

conversations and zoom sessions occurred to test all areas of the web application. The team

performed manual tests going over link by link to verify all pages were fully operable and all

data entered was successfully inserted into the database. When data did not insert successfully

the team would thoroughly look through the code together and find the missing connection.

There were times throughout this process where database troubleshooting took a week in itself;

something we had not prepared for. The project functionality and accessibility was also tested

using both desktop and laptop computers as well as using both wired and wireless internet

connections to test reliability and performance. Different internet browsers were used to test the

web application to detect any possible problems based on a specific web browser.
Capstone Final Report 25

In order to complete the testing, users only needed access to a computer, an internet

connection, and a word document application. Users then navigated to the website, completed

the testing as laid out in Appendix C and recorded their findings in the word document provided.

Users were tasked with signing up to the site, logging into the site, filling out the device request

form and the donation request. Users were asked to verify they could see the data was submitted

successfully in the admin panel.

The project was tested by a focus group of three individuals. The primary focus group

was low-income students and workers from the ages of 18 to 30. The comfort level with

technology was from minimal to basic comfort in using technology. This project is focused on

helping provide devices to the low-income community at low or no cost. These testers were

asked to register to the site and login which was very straight forward for all testers. We rated

positively in that area. The users were also asked to test the donation request form. The group

was able to follow instructions to perform a donation request to receive a donation. They were

able to successfully see a message on the screen that thanked them for submitting their request.

They also received an email letting them know the organization would be in contact. The third

test was to make a donation of a device. To make a donation a user had to have an account and

log in. The device donation form worked and allowed the user to input data and submit the form,

however what didn’t work for testers during this stage was the data did not save to the database

therefore a user could not see their donation history on the donation history page. First sign of an

error was the user should have seen a statement saying “Your donation was added successfully!”.

On the admin panel the focus group mentioned they were able to log in successfully and

see the user and donors database. They were not able to see the volunteer data or the device

request data. These are two forms the team also has displayed on the website. Other feedback the
Capstone Final Report 26

team received from testers was the project was good for what the project is trying to achieve,

however they had recommendations on improving some of the links because they were not

accessible directly. For example, the index.php page said people were logged in when they

weren’t actually logged in. This was due to text added by the team in testing and not removing it

before laying it out to our focus group. For the overall layout and look of the site, the testers

found it easy to navigate. They did feel there was more information needed on the homepage and

about us pages. Our testers also felt that the top navigation links were too close together. The

team has since remedied these issues.

Overall testing was done to determine if the site was functional and user friendly. The

users tested for performance, usability, and reliability. The goal during this testing phase was to

sort out any issues with the functionality of the site. The team successfully did that with the help

of the focus group.

Final Implementation
The final implementation of iDonify was carried out through the use of Github,

phpMyAdmin, and iPage for web hosting. Backend development consisted of using PHP,

MySQL, HTML and CSS for styling. iDonify also used an existing bootstrap framework to help

complete some of the layout of the website. All were chosen by the team after long conversations

regarding concerns for functionality, efficiency, and database connection. The team chose to use

PHP in the site because it is a great source for dynamic web application development. Since data

isn’t stored in PHP a database was needed to store user data. MySQL was chosen as it is a

relational database management system that is open source. PHP is a server side programming

language and allowed the team to create customized features for the web application. Using these

two made it efficient for the team to make changes quickly and easily maintain the data. This duo
Capstone Final Report 27

is great in performance and reliability and made creating an interactive website doable. Examples

of the server.php code will be provided in Appendix E.

A major problem that appeared during the design phase was when the administrative

panel would not connect to the database. This was the preliminary test using the localhost. The

goal of the administrative panel was to be able to see all user data entered from forms like the

volunteer form, device request and user sign up. The issue that occurred was data was not being

saved to phpMyAdmin. The data looked like it was entered successfully, but upon doing a few

attempts of individual testing the database would stop collecting data after 3 attempts. Then users

that had previously signed up could no longer log in after they had logged out of the site. After

fixing this issue any data collections worked successfully. We used two files to collect data and

display is for the individual logged in user. Two examples of code are the request_list.php and

requests.php. The request_list.php file displays the data to the request history page and the

requests.php sends the field data to the database table. Refer to the request_list.php and the

requests.php images in Appendix D for the code used to collect and display data. Using similar

methods for all other forms allowed the team successfully collect and implement data.

The first resource needed in creating this project was a collaborative environment where

code could be changed in real time. The team used Github to modify code. Each team member

created separate branches for the tasks they were working on and each week the team would

meet to discuss the code and merge it to the master file if it was functional and passed all tests.

The team intended to deploy the web application from GitHub to Heroku, but the database would

not connect and due to time limitations the team decided to go with another web host called

iPage that would work directly with phpMyAdmin. The team used pivotal tracker for keeping

track of the tasks that need to be completed and the teams progress. Using iPage the team did not
Capstone Final Report 28

need to purchase a hosting plan and domain. The team did however have to go with a domain

that was already purchased previously so the website is not a .org as originally intended.

The site is currently deployed on iPage.com under the domain iclickin.com and the site is

currently fully functional. The team wanted to be able to accept monetary donations as well as

device donations, but that was tabled for now. The team also wanted to list and offer repair

services, but that will be planned for a future sprint session with this web application. These

things had to be tabled because the team had to be realistic on what could be completed in the 6

weeks.

Conclusion
iDonify created this project to help bridge the digital divide. The digital divide is a gap

that exists between underprivileged communities having little to no access to computers and the

internet and the wealthy or middle class having easy access to this technology. As technology

becomes more widely required in today’s workforce and education system those unable to afford

computers or internet fall behind in education, income, and social status. Inadequate access to

technology can hinder children and adults from learning the necessary tech skills to help them

become productive and successful in today’s economy. Electronics accessibility, service

availability and proper technology information can contribute to reducing the digital divide gap

that still exists today.

iDonify goal is to combat the digital divide by providing low or no cost electronic

devices to low-income individuals or families. Many individuals have devices just sitting at

home that are no longer being used. This system would give people an easy way to become a

donor or even find a way to volunteer if they wished to help in iDonify’s effort to provide equal
Capstone Final Report 29

access to technological resources. In order to achieve this goal the team created a website that a

nonprofit organization can use to accept donations of electronic devices and offer repair services.

The website includes an administrative panel for administrators to manage donations and

user data. This allows the organization to keep track of all records while having a simple

functioning website. This project was designed to be a simple database management system that

an organization could use with little training. The team focused on using a scrum framework to

develop the web application. The team chose to use a scrum framework as changes would be

frequent and the scrum framework is effective for team collaboration.

Scrum aims to reduce the project budget and keep the project from going over schedule;

as a fully functional site with backend processing was needed to be laid out by Week 6. Using

pivotal tracker, the team created a backlog of all tasks needed to be performed to achieve the

project goals. These tasks were updated weekly as new issues arose. Because the project needed

to be completed within 5 to 6 weeks the team worked with sprint planning. During sprint

planning the backlog was created. From that backlog a to-do list for each week was created and

checked off. The team would let each other know what tasks were in progress and what tasks

were completed. When a task was checked off, the team would review and merge code through

Github.

The project is meant to be an open source for any organization looking for a way to

manage their user data and have a base website to go with it. The backend development using

PHP and MySQL can be easily modified to meet a users needs based on the different data they

are trying to collect. iDonify gives nonprofits the tools they need to manage their data and keep

track of donations. It will give nonprofits the ability to keep track of all volunteers. This web

application is meant to be used over an internet connection so it can be accessed remotely if


Capstone Final Report 30

needed. This is a perfect starter website for nonprofits looking to organize their data and be able

to edit and view that data. To team is excited to see where this project can go in the future and

see how they can help bridge the digital divide.

References
Use 91,500 Icons for iOS, Windows, and Android (Material Icons) for Free. (n.d.). Retrieved

April 25, 2019, from https://icons8.com/license/

Tysver, D. A. (n.d.). RIGHTS GRANTED UNDER COPYRIGHT LAW. Retrieved April 26, 2019,

from https://www.bitlaw.com/copyright/scope.html

License. (n.d.). Retrieved April 27, 2019, from https://pixabay.com/service/license/

Otto, M., & Thornton, J. (n.d.). License FAQs. Retrieved April 28, 2019, from

https://getbootstrap.com/docs/4.0/about/license/

FAQs for Google Forms - – Google. (n.d.). Retrieved April 28, 2019, from

https://gsuite.google.com/faq/forms/

PowerUp.org. Retrieved May 18, 2019. Retrieved from http://powerup.org/


Capstone Final Report 31

Heroku Security. (n.d.). Retrieved from https://www.heroku.com/policy/security

Scrum Process Canvas Read More. (n.d.). Retrieved June 16, 2019, from https://www.visual-

paradigm.com/
Capstone Final Report 32

Appendix A
Class Diagram
Capstone Final Report 33

Appendix B
Usability / Test Plan Diagram

Team Member Roles and Responsibility

The developers of iDonify are Jose Garcia Ledesma and Grace Alvarez. Both developers

have worked together through the duration of the CS program at CSUMB. Jose and Grace split

the work up evenly. Jose was responsible for creating the user login and registration system as

well as creating the device request and donation forms. Grace was responsible for implementing

the administrative panel and getting the database from phpMyAdmin to display data to the admin

application and allow admins to edit and delete that data. Throughout this process the team found

out very quickly that no one part was completed alone. The team constantly kept in contact
Capstone Final Report 34

throughout each step of the project to help each other complete their tasks. In the end both Jose

and Grace worked closely together over the phone and by sharing screens to troubleshoot issues

with the application as well as make final decisions on the look of the website. With pivotal

tracker initially setup for this project, stories were assigned to each team member. A team

member would take their tasks as far as they could, then the team would discuss any issues

preventing completion of that task. There was an equal amount of database work and website

content assigned to both parties.

It was extremely important that code review happened frequently because one person

could change a portion of the code and the whole site would not function correctly. The team

spent many hours troubleshooting these kinds of issues. All in all the team is proud of the work

created during this short period of time. Many accomplishments were in the backend of the code.

Overall the team learned many valuable lessons in working on this project. The team learned

how to use project management tools effectively and make use of zoom sessions to cut time

explaining the issues the team was having over the phone. The team learned how to delegate

tasks to each member and check in more frequently on the status of those tasks to make sure the

work was completed on time. The team learned to make quick decisions to be able to complete

the project on time.


Capstone Final Report 35

Appendix C
Test Case
Capstone Final Report 36
Capstone Final Report 37

Appendix D
request_list.php

requests.php
Capstone Final Report 38

requests.php continued
Capstone Final Report 39
Capstone Final Report 40

Appendix E
server.php
Capstone Final Report 41

Vous aimerez peut-être aussi