Capstone Proposal

You might also like

You are on page 1of 20

OpenCommune

_______________

A Capstone Proposal
Presented to the
Faculty of CST 499 at
California State University, Monterey Bay

_______________

In Partial Fulfillment
of the Requirements for the Degree
Bachelor of Science
in
Computer Science

_______________

By
Cheuk On Yim
Matthew Stoney
Paola Torres
Wicaksa Munajat

Fall 2022
Copyright © 2022
By
Cheuk On Yim
Matthew Stoney
Paola Torres
Wicaksa Munajat
All Rights Reserved
i

EXECUTIVE SUMMARY OF PROPOSAL

OpenCommune

By

Cheuk On Yim

Matthew Stoney

Paola Torres

Wicaksa Munajat

Bachelor of Science in Computer Science

California State University Monterey Bay, 2022

The purpose of this project is to provide a web application for users that will allow them

to buy, sell, or trade their items. This online platform will allow lenders and borrowers to connect

with one another with the hopes of building a stronger community that is more aware of the

effects of spending and purchasing new items instead of borrowing or buying secondhand. The

main goal for this project is to decrease the amount of purchases made on new items which will

save users money and save the environment of finite resources.


TABLE OF CONTENTS

PART I - BACKGROUND AND APPROACH ..............................................................1


Introduction ..................................................................................................1
Project Name and Description .........................................................1
Issue: Consumer Waste and Throw-away Culture...........................2
Solution: OpenCommune ................................................................2
Evidence of Need ............................................................................3
Project Goals and Objectives .......................................................................3
Goals ................................................................................................3
Objectives ........................................................................................4
Environmental Scan .....................................................................................4
PART II - ETHICAL AND LEGAL CONSIDERATIONS.............................................6
Stakeholders and Community........................................................................6
Stakeholders.....................................................................................6
Supporting Organization..................................................................6
External Stakeholders......................................................................6
Negative Impacts..........................................................................................7
Ethical Considerations..................................................................................8
Legal Consideration......................................................................................9
PART III - PROJECT SCOPE.......................................................................................11
Timeline.......................................................................................................11
Resources....................................................................................................12
Milestones...................................................................................................12
Risks and Dependencies.............................................................................12
Final Deliverables.......................................................................................13
Usability Testing and Evaluation................................................................13
REFERENCE................................................................................................................15
1

PART I - BACKGROUND AND APPROACH

INTRODUCTION

Project Name and Description

The proposed project is a web application that will allow users to make and join private

or public groups where they can put their belongings up and allow other users to borrow them for

a certain period of time or trade their belongings outright. We have noticed that people, including

ourselves, purchase many items that might not be essential or needed. Purchasing items that one

does not need wastes time, money, and resources. During the pandemic, many people lost their

jobs and their main source of income. Thus, this made people more cognizant about where their

money was spent.

In addition to depleting one’s resources, purchasing items depletes earth’s resources as

well. As the population grows, resources on this planet will deplete. We believe that it is

important to help play a role in helping the environment with the choices that we make. The

product we will build aims to promote reusability and sustainability of the environment by

creating a space where users can borrow and trade their belongings. Items and belongings can

range from different categories such as sporting equipment, handy everyday tools, and furniture.

By bringing users who want to sell, trade, or borrow items, we will create an environment

that promotes the values of community, sharing, and connection. All users will have ratings

attached to their name in order to show their credibility. This product aims to benefit lenders by

allowing them to make extra money by letting others borrow their items, borrowers by allowing
2

them to save money by borrowing items instead of purchasing them, and the environment by

reducing the amount of resources that will be used to manufacture new items.

Issue: Consumer Waste and Throw-away Culture

The Environmental Protection Agency reports that in 2018, the amount of trash generated

in America totalled 292.4 million tons, averaging out to around five pounds of trash per person

per day (Environmental Protection Agency, 2022). The current state of consumer culture in

America demonstrates a high turnover rate in purchasing. This is due to the fact that many

products are designed to be disposable, or replaced through planned obsolescence. This has led

to the concept of a throw-away culture, where consumers tend to get rid of things before they are

defunct.

Solution: OpenCommune

While environmental issues often seem impossible to tackle, there are many small

measures that individuals can take in their everyday lives to help reduce their effect on the

environment. One such measure is to reduce the amount of waste that we collectively produce by

letting others borrow or keep their unused items. As a society, we pride ourselves on our

commitment to recycling our bottles and cans. OpenCommune proposes a similar commitment to

reuse of other items such as furniture, clothing, textbooks, household appliances, tools, and even

cars.

OpenCommune is a full-stack web application that allows users to form and join public

or private community groups where they can offer items up for others to borrow. It offers users

the ability to come together with people of similar interests in helping the environment, as well
3

as helping out each other. It will save users money as well as help to lessen the impact

consumerism has on the environment.

Evidence of Need:

The evidence of throw-away culture can be seen in our everyday objects, from clothes to

cars. Producers make more money when people throw out their old items and purchase new

ones. This is seen in the fact that every year, clothing companies release new lineups, automakers

reveal the year’s new model, and Apple releases a new iPhone. None of these objects are very

different from the previous iterations, but people enjoy owning the latest new thing.

This tendency to throw away items has several environmental effects. First,

manufacturers are encouraged to produce more and newer products. High production generally

means a high carbon footprint. Second, disposable products are maxing out our landfills and

littering our oceans.

PROJECT GOALS AND OBJECTIVES

Goals

● Promote reuse among families, friends, hobby communities


● Minimize carbon footprint by decreasing a user’s need to purchase new goods, such
as furniture.
● Lower greenhouse gas emission in manufacturing, packaging disposal, transporting as
consumers' demand decreases.
● Provide a user friendly, scalable web application for users to share or exchange
reusable items.
Objectives

● Use MVC design pattern to interactive views with associated databases.


4

● Use Spring Boots, React, Node.JS, MySQL or similar framework to build interactive
frontend and backend.
● Build a user portal that displays joined groups, within each group there is a catalog
for items available within the group.
● An item is listed with options available for borrow, trade, and/or giveaway.
● Allow users to create groups. A user who creates a group will be the group admin of
the group.
● Join groups by invitations from group admins.
● Allow group admins to invite/delete users from a group.

ENVIRONMENTAL SCAN

According to Forbes, consumers are searching for more ways to rent and share items.

They are more concerned with having access to items than owning them (Morgan, 2019). A

quick search online reveals existing websites and applications which allow users to do just this.

A few examples of these are https://www.lendmeit.com/, https://borrowme.com/, and the Mooch

app. One of the earlier examples of this concept comes from Peerby which was an app based in

the Netherlands. This app connected around 100,000 users in a single month and quickly

expanded to locations such as London, Berlin, and Belgium (Beardsley, 2015). Although our

website shares the idea of borrowing and selling items within a local network, it will have

features that both optimize and widen the breadth of use for users.

The underlying concept of our website will be similar in that users will be able to list

items to lend or sell. However, we will also include additional categories such as trade and

giveaway to provide users the ability to more accurately describe what they would like to do with

their items. As a result, users will be able to more accurately search for items based on the

aforementioned categories. This is something that current sites do not do well. For example,

sometimes when selecting an item, you will discover that it is actually for sale instead of for
5

borrowing. This can be frustrating for a user if they are looking for an item in a specific category.

This is not user friendly since the information is hidden and has to be searched for by the user.

Our website will help users with this. This modification will also benefit those that are listing

items by giving them clear definitions to indicate how they intend to contribute their item.

Our website will also be different in that users will be able to create and join communities

to share items. This will be in addition to being able to search by location and item type. The

intent of these communities is to provide users the ability to create smaller, closed groups with

people they are related to, such as neighbors, students in a school, friends/family. This will give

these groups a platform to more easily swap items with each other instead of advertising to the

general public. Current websites and applications do not seem to have this feature. Our website

will be the one stop place for trading, selling, renting, and/or giving away items.
6

PART II - ETHICAL AND LEGAL CONSIDERATIONS

STAKEHOLDERS AND COMMUNITY

Stakeholders

The primary stakeholders of this project are Wicaksa Munajat, Matthew Stoney, Paola

Torres, and Cheuk On Yim. These stakeholders are the developers of this project. Completion of

this project satisfies one of the graduation requirements for the Bachelor of Science degree

offered by CSU, Monterey Bay, which all of the stakeholders mentioned above are pursuing.

These stakeholders will develop this project in collaboration and complete this project by the end

of CST 499 - Computer Science Capstone.

Supporting Organization

CSU Monterey Bay is the primary supporting organization of this project. CSUMB

faculty who support this project, potentially contribute to the environmental benefit that this

project aims to achieve. Projects that are under guidance from faculty have a higher chance of

demonstrating the knowledge that this program offers to its students. CSUMB can exhibit

projects with excellent accomplishment to the public as proof that this program’s curriculum

enriches students’ software engineering skills. Projects can also be used as examples for future

students

External stakeholders

General public is one of the external stakeholders. On the user end, this application brings

financial benefit. It is a convenient alternative to obtain items and save money. As users

participate more by building communal networks on this platform, users and their connections
7

can be exposed to more money saving opportunities. This may encourage users to try out a new

hobby which requires much equipment such as camping. Users' chances of buying new items are

reduced, at the same time, they feel more financially encouraged to find a new hobby that may

improve their social lives. Therefore, hobby groups are another external stakeholders. In a macro

perspective, this application initializes a trend to reduce carbon footprint on

individuals/communities level. This brings our environment as an external stakeholder as well.

The environmental benefit that is brought by the participation of users could be enjoyed by our

future generation as well.

NEGATIVE IMPACTS

As with all new products and services, it is important to analyze the negative impacts

OpenCommune might have on its users, especially to underprivileged groups. Two potential

negative impacts that have been identified are: the use and access to OpenCommune requires a

computer or smartphone and in order to exchange items meeting with strangers might be

required.

In order to participate in OpenCommune you must have access to a computer or

smartphone along with an internet connection. This negatively impacts the portion of the

population that does not have access to these. The impact is not in the sense that it causes these

individuals harm but rather it excludes them from participating in something that might be of

benefit to them simply because they do not have access to the aforementioned items. Individuals

that do not have a computer, smartphone, and/or internet connection usually are lower income

individuals or individuals that are not technology oriented. As previously mentioned, this

excludes a group that might benefit the most from the cost saving measures afforded by the

practice of sharing items.


8

Participating in OpenCommune might require users to meet with strangers in order to

exchange the items they are borrowing/lending or selling. There is a potential for this to

negatively impact some users because there is an inherent risk with meeting with strangers.

There are safe practices that are already recommended to users when using things such as

Facebook marketplace like meeting in public places. Not all users will need to meet with

strangers due to the component of creating communities and groups in OpenCommune.

However, users that primarily search by location will most likely not know who the person they

are buying or borrowing from. The risk will be minimal but it is something that probabilistically

will be present so it cannot be ignored.

ETHICAL CONSIDERATIONS

Privacy is one of the foremost ethical concerns when building any multi-user application.

OpenCommune should take measures to protect the privacy of our user’s personal information

by first limiting the data that OpenCommune collects to what is strictly necessary for its primary

purpose. The data that is collected will be freely visible to the user so that users can review, edit,

or delete their personal information at any time. Certain sensitive information is required for

each transaction, such as name, email address, and possibly payment information.

OpenCommune should keep user information protected through use of encryption, user

authentication, and any other means deemed appropriate.

Another important ethical consideration is that of property. OpenCommune is a platform

for the exchange of goods. However, not all goods are considered ethical to trade, whether they

have been illegally obtained or are legally barred from sale or possession. For example,

controlled substances, live animals, human trafficking, and any other illegal and/or socially

reprehensible subjects should be forbidden. The application should take into consideration the
9

nature of the goods being exchanged, and whether or not any form of currency is part of the

transaction. OpenCommune should not be a platform for the exchange of illegal or otherwise

unethical goods.

A final ethical consideration is quality of life. OpenCommune is a platform for helping

users help each other and the environment. As such, it should follow the path of maximum

positive impact while also having minimum negative impact. The design of each aspect of

OpenCommune should take into consideration ways to improve the user experience and quality

of life. This also includes accessibility. The application should strive to be inclusive to as many

people and groups of people as possible.

LEGAL CONSIDERATIONS

One legal consideration to take into account when running an online borrowing, selling,

and trading platform is correctly handling a user’s private information. A concern from the user’s

end could be concerns about selling their information to third parties without consent. A concern

from our end could be not having enough security measures in order to prevent data breaches or

leaks from happening. Consumers are concerned and protective of their data and are quick to

realize when their information is being mishandled. According to a KMPG study from 2016,

55% of consumers surveyed around the world said they are against buying things online due to

privacy concerns (Mlada, 2021). In order to reassure users that their data is being protected, we

will try to implement measures to be more transparent with how their data is being collected such

as using a badge to show their privacy and data security.

Another legal consideration to take into account is the threat of crime that can occur

when two users meet up to undergo a transaction. There are countless stories of buyers and
10

sellers meeting and something going awry. This is due to the fact that when you are dealing with

a stranger, the risk of something bad occuring increases. When something bad does occur, police

will be notified and this will be bad for the users of the application and all parties involved. In

order to lower the chances of any crime occurring, we will put an information page on how to

safely meet up in order to have a safe transaction such as meeting at a busy place or by a police

station. This will ensure that users are mindful when meeting with other users and can keep both

parties safe and transactions smooth.

These are the main legal considerations to be aware of when creating this application.

With regards to the users, we want to make sure that their privacy and information are handled

properly. This will give them more confidence in our product and give them more confidence in

using the application. In addition, we want to make sure that their physical safety is brought to

our attention. We will do everything in our power in order to make sure that users are aware

when they are meeting with one another to complete a transaction and aware of their safety.
11

PART III - PROJECT SCOPE

TIMELINE

The timeline for this project (Figure 1) is located below. It is based on the waterfall

software development cycle. This requires our group to establish requirements early on. We will

create a concrete plan of what we need and do our project in phases. Each phase will have

deliverables before moving on to the next phase. This time line will also help keep us on track in

order to finish the project in a timely manner.


12

Figure 1. Project Timeline.

RESOURCES

The resources required for this project include a laptop, and softwares — Discord for

communication, mySQL Workbench for backend development, text editor of choice for

programming, and Github for code management.

MILESTONES

(Database, Backend, Frontend, Testing and Debug)


13

The major goals toward completing the proposed project are outlined in

Figure 1. This process will begin with outlining a proposed database schema. After outlining the

database schema, we will create the database using mySQL and input test data. After this is

completed, backend work will begin. This will involve creating user stories for admin and users.

Upon completion, we will begin creating REST API Endpoints for each story. Next, we will

begin creating the front end portion using React. After that is finished, we will be testing our

application and debugging it for errors. In addition, we will have users test the product. After

finishing this portion, we will work on any extra issues that we have and prepare for the

presentation of our application.

RISKS AND DEPENDENCIES

At this time, there are no foreseeable risks that will hinder the completion of this project.

Each step in the completion of the website is a dependency for the next step. Testing and

debugging is dependent on the completion of the frontend, backend, and database steps. The

front end portion of the project is dependent on the backend being complete. The backend of the

project is dependent on the database being properly configured and complete. Since each part is

dependent on the next, it is imperative that each major part of the project is completed in a timely

manner according to the timeline. This will prevent the whole project from falling behind. If this

were to happen, this risk will develop and potentially affect the completion of the project.

FINAL DELIVERABLES

The final deliverable for this capstone project is a fully-functional web application that

serves the major purposes outlined above in this specification document. This includes a
14

database model, a backend server that exposes REST API endpoints, and a frontend web page

that will provide users with the application’s main functionalities.

USABILITY TESTING AND EVALUATION

The web application will be tested by friends and family. The website’s URL will be

given to each participant along with a checklist of items to complete while using the website.

The website will be available through Replit or a similar site. Initially there will be items and

user accounts in the database that we will place as a starting point. The checklist to complete will

consist of the following base components: add an item for one of the categories (trade, sale,

lend/borrow), browse through the available items, create a group or network to share, add

existing users to the group, purchase, borrow, or trade an item for one of the categories

aforementioned. If each participant is able to complete these tasks, we will consider the tests

successful. We will also ask each user to fill out an exit survey about their experience while

using the website. The questions on the survey will include the following. How easy was it to

navigate the website? Did you find any particular task from the checklist difficult to complete?

Were you unable to complete any task? How likely are you to use this website? Are there any

comments you would like to include about the website in general? We will modify and correct

the website based on findings from the tasks lists and surveys.

APPROACH AND METHODOLOGY

This project will use MySQL for our database. Java Spring Boot will be used to interact

with the database. The main operations between them are Create, Read, Update, and Delete.

Hence, this framework will sufficiently support the essential functionality of this application.
15

Although Java Spring Boot is our first candidate, we might switch to another backend framework

if implementation with other frameworks is more efficient for our development process. Lastly,

we will use React framework for the frontend before moving to the last major stage, testing and

debugging. For testing purposes, we will leverage tools to cover unit testing, API testing, and

end-to-end testing. If we stick with Java Spring Boot with React, we will use JUnit, Postman,

and Selenium for these purposes.

The development of this project will begin with designing entities and attributes. Our

team will examine the roles of our users. User features and functionality will be oriented around

UI and UX: What role does a user play in a group (group admin or a group member)? What can

different roles do in a group? What information do they need for their profile? How should

information be displayed? With continuous evaluation of these questions, we will gain crucial

insight toward moving the development process along, as well as making enhancements along

the way.
16

REFERENCE

Beardsley, E. (2015). Why buy when you can borrow? App connects people and stuff. NPR.
Retrieved from
https://www.npr.org/sections/alltechconsidered/2015/01/02/374184584/why-buy-when-y
ou-can-borrow-app-connects-people-and-stuff

Environmental Protection Agency. (2022). National Overview: Facts and Figures on Materials,
Wastes and Recycling. EPA. National Overview: Facts and Figures on Materials, Wastes
and Recycling | US EPA

Morgan, B. (2019). The future of stuff is shared or rented. Forbes. Retrieved from
https://www.forbes.com/sites/blakemorgan/2019/10/14/the-future-of-stuff-is-shared-or-re
nted/?sh=30b0d1273a40

Mlada , P. (2021). Privacy Concerns Stop Customers from Buying. Openli ApS. Retrieved from
https://openli.com/blog/privacy-concerns

You might also like