You are on page 1of 19

1

CUBE-IT

_______________

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

Ashley Teraishi, Ian Rowe, and

Jordan Guzman

Summer 2022
2

Copyright © 2020

by

Ashley Teraishi, Ian Rowe, and


Jordan Guzman

All Rights Reserved


3

EXECUTIVE SUMMARY OF PROPOSAL

Cube-It
by
Ashley Teraishi, Ian Rowe, and
Jordan Guzman

Bachelor of Science in Computer Science


California State University Monterey Bay, 2022

Speed cubing is a hobbyist sport that has been impacted by the COVID-19 pandemic.

Speed cubers, once able to gather in a geographic location to compete, have been deprived of this

method of competing. As will be discussed, some online platforms have been created as a

solution to covid restrictions. However, Cube-It – while not being the first to create this solution

– will make a better platform. Unlike existing platforms, Cube-It will be capable of recording

the times of contestants thus allowing for accuracy in recorded times during the competition.

Cube-It will also award prizes to contestants that compete on the platform. Cube-It will create

an online rubik’s cube competition platform that will compensate for the features which are

lacking in existing platforms.


4

TABLE OF CONTENTS

EXECUTIVE SUMMARY................................................................................................ 3

PART I

Introduction ........................................................................................................................5

Project Name and Description ...........................................................................................5

Issue: COVID Restrictions, Financial Constraints, and Travel Requirements ..................7

Solution: A Unique Online Platform ................................................................................7

Evidence of Need ...............................................................................................................7

Project Goals and Objectives .............................................................................................8

Goals ..................................................................................................................................8

Objectives ..........................................................................................................................8

Environmental Scan ...........................................................................................................9

PART II

Stakeholders .....................................................................................................................11

Ethical Considerations .....................................................................................................12

Legal Considerations ..........................................................................................................13

PART III

Timeline and Budget ........................................................................................................15

Risks and Dependencies ...................................................................................................17

Preliminary Usability Test Plan ............................................................................................17

Final Deliverables ...............................................................................................................17

Approach / Methodology .....................................................................................................18

REFERENCE ...................................................................................................................19
5

PART I

INTRODUCTION

Project Name and Description

Speed cubing is growing fast with many young people interested in the sport. The

participants are as young as 9 years old. There are many types of cubes that are solved starting

with the obvious one that is 3x3 as the classic Rubik’s cube. Tournaments are held all over the

world. Prior to Covid-19, they were held on weekends at a school or hotel with contestants

competing against the clock using specific cubes in categories. There were heats and then the

final rounds with winners announced at the end of the day. Regional and national contests were

held as well.

Cube-it would be a site where contestants can come and compete in a video format

similar to zoom. They compete head-to-head in a bracketed system on a particular cube. They

will need to log in and subscribe to the site for a monthly fee. It keeps track of their timings

since they began cubing, but only the last 20 rounds are averaged, which would act like a

handicap similar to golf. This will be called their lifetime average for less confusion.

Contestants are placed in a bracket according to their lifetime average. There will be

several brackets in a tournament and thus several winners. The format of the head-to-head

competition is 5 solves against an opponent with the fastest and slowest not counted while the 3

in the middle are averaged for a final time. This would then be compared to their lifetime

average. This difference, positive if below (faster) and negative if above (slower), would be

compared to the opponent’s difference between their round average and lifetime average. The

one with the better “difference”, wins and moves on in the bracket.
6

There are also many different types of cubes and each will have its own set of brackets.

They are: 2x2, 3x3, 4x4, 5x5, 6x6, 7x7, 3x3 -blindfolded, Pyramix, Megaminx, Skewb,

Square-One, and Clock.

Each competitor will get a “scramble” listed on their screen before the round starts. After

completing the scramble, they will put the cube in a box and press the spacebar to signal that

their cube is ready. When both are ready to begin, they will go one at a time. They get a 15

second inspection time of the cube that does not count as part of their solve time. They must put

the cube down and start the timer, before the 15 seconds is up. The timer runs until the cube is

solved and the timer is stopped. This is done by: the inspection timer starts when the space bar is

released. Then the space bar can be held down, but the inspection does not end and the solving

timer begins, until the space bar is released. Penalties are assessed if the inspection timer goes

over. The timer can be the space bar, but a better option is to plug in a 3rd party timing device

that uses the headphone jack, which is used in face-to-face competitions.

A scramble for the 3x3 will consist of a random selection of 20 symbols including R, R’,

L, L’, U, U’, D, D’, F, F’, B, B’, R2, L2, U2, D2, F2, B2

A Judge login (administrator) allows the ability to join a room and sort out problems

between the contestants if a cube is not fully solved when they stop the timer. All competitions

can be recorded so that the Judge can review it to make sure the integrity of the system is not

compromised. The ability to create upcoming tournaments and review the status of any user or

look at payment status.

A user can go to a screen with their own stats as well as any other user on the system and

should be able to sift through data according to name, cube type, lifetime average. They could
7

also look at ranking according to fastest time, or upcoming tournaments. The winners of

tournaments will receive “coins” that they can spend in the store to receive real items such as

new cubes, cube lube, carrying bags, t-shirts, etc.

Issue

Over 100,00 people across 140 different countries have competed with the World Cube

Association over the last decade (World Cube Association, n.d.). Local competitions foster

strong community connections for contestants. However, Covid restrictions, health concerns,

financial constraints, and travel requirements can make it harder for contestants to join these

competitions.

Solution

Cube-It will provide an online platform for contestants that will mimic the environment

of in-person competitions as closely as possible. It will allow contestants, viewers, and judges to

participate in a zoom-like platform that also stores statistics of each contestant. Additionally, it

will allow contestants to compete internationally which would not be possible at regional events.

Evidence of Need

The project is needed because it has the potential to reduce Covid infections that may be

caused by in-person competitions. Additionally, it will allow people to compete who were unable

to attend in-person due to travel requirements, financial constraints, etc. It will also cut down

costs for competition organizers since it removes the need for booking venues as well as

providing food and drinks.


8

Project Goals and Objectives

Goals

● Allow contestants to compete without worrying about Covid restrictions

● Allow contestants to easily track their own competition statistics, as well as the statistics

of others

● Incentivize contestants to compete with the ability to redeem real prizes

● Create an online community of participants around the world

Objectives

● Intro page with login, sign up link, upcoming tournaments link, logo

● Sign up page allows users to set up an account and pay monthly with credit card or

Paypal, first 3 weeks as a trial period.

● Users can create a first-time lifetime average by doing 20 solves

● Bracket screens to view where competitors are located in the competition. Each cube

will have its own and there will be several brackets for each cube type according to

lifetime averages.

● Competition Screen where video competitions are head-to-head in a bracket using the

lifetime average system to determine the winner. This video will be recorded.

● Judge screen(s) where they can see all users, brackets, and calls from competitors. Ability

to change timings with a ruling. Can create new brackets in a tournament. Add new

tournaments for the future, maybe a repeated option.

● “Coins” will be awarded for top 3 winners in a bracket. There will be many brackets for

each cube type in a competition.

● Store page where coins can be turned in for real prizes. Free shipping.
9

● The space bar can be used to start and stop timing, or a 3rd party timer can be plugged in

using the headphone jack.

● Account page where a user can update a card, cancel their membership, update personal

info

Environmental Scan

The largest existing comparable website is World Cube Association, which offers much

of what we might provide in such a service, with a log of solving times and competition brackets

(WCA, 2022). Their overarching structure and general design is well made, and taking notes on

what problems they address will assist our own development. However, they lack support for

remote competitions over any form of remote video call software, meaning that there is a need

that we can and will fulfill. In addition, they do not allow users to create their own competitions,

instead hosting competitions in several different countries, although they note that due to

COVID-19 restrictions, some countries do not allow cubing competitions (WCA, 2022).

Therefore, creation of our own website will enable our client to create their own series of

competitions.

Additionally, Cubelelo, a large puzzle store based in India, hosts an online cubing

competition called Speed Cubing Unlocked. In this competition, participants upload their results

for each event and the top 15 participants must upload video proof of their results. Only the top

eight participants compete live over video, which is broadcasted on YouTube (Cubelelo, n.d.).

While Speed Cubing Unlocked has many similarities to Cube-It, there is still a major difference

in how competitions are conducted. With Cube-It, all participants will be able to compete live

over Zoom-like video conferencing which more closely resembles the environment of in-person
10

competitions. Additionally, Cube-It will allow for competition creation by judges, whereas

Cubelelo only hosts Speed Cubing Unlocked.


11

PART II

SOCIAL AND LEGAL CONSIDERATIONS

Stakeholders

Stakeholders are individuals, groups, or organizations that are impacted by a project.

Stakeholders can be considered either internal or external. Internal stakeholders have a direct

involvement with the creation of the project whereas external stakeholders do not work on the

project but are impacted by the outcome (Fernando, 2021).

The internal stakeholders for this project are those who have a direct relationship with its

development. These stakeholders include Jesse Cecil, our client, as well as the development team

comprised of CSU Monterey Bay Computer Science students: Ashley Teraishi, Jordan Guzman,

and Ian Rowe. Additionally, CSU Monterey Bay can also be considered an internal stakeholder

because this project is a requirement for graduation. If the project is successful then all of the

internal stakeholders will benefit. Our client will have the website needed for his startup, the

development team will be able to graduate with their B.S. degrees in Computer Science while

gaining valuable experience, and CSU Monterey Bay can use the project as proof of the quality

and effectiveness of the Fully Online Computer Science Program.

The external stakeholders for this project are the users of the web application. This

project is targeted at people involved in speed cubing competitions. The successful completion of

this project will allow contestants to compete without the need for travel. This will save them

time and money while also allowing them to enter in more competitions, thus giving them more

opportunities to practice and hone their skills. Additionally, since contestants will be able to

compete online, they can avoid worrying about Covid exposure and restrictions.
12

Ethical Considerations

Cube-It requires a user to create an account with the platform and to enter their personal

data. There are ethical considerations that must be taken into account due to this. The threat of

hacking is always a risk when information is put online. Cube-It will only require users to

register with their email address. However, there is a risk of an email address being compromised

if hackers gain entry into the platform’s database or intercept it via an HTTP call to the server.

According to fightcybercrime.org, a hacked email account can be used to acquire personal

information which can be used for malicious purposes such as committing fraud or stealing the

victim’s financial information (n.d.).

Cube-It potentially risks compromising user payment information due to its subscription

fees and online store which takes user payments for the purchase of items such as different types

of Rubik’s cubes. The payment method that is used is at risk of being stolen. On a report titled

“Formjacking: How Malicious Code JavaScript Code is Stealing User Data from Thousands of

Websites Each Month,” Candid Wueest stated “About six years ago we started to see the

widespread use of JavaScript scrapers on online stores in order to steal payment card

information.” (2019). This is something that Cube-It must take into account.

It is the duty of the creators of a platform to safeguard the data of its users. The potential

to compromise user payment information and emails are the two biggest risks that we have

identified with Cube-It and we will mitigate these risks with the use of well-established services

to protect user data on our platform. Rather than store user information in a database, Google

OAuth2 will be used to handle user authentication. To avoid the risk of compromising user

payment information on our platform, Paypal will be used to handle payments. If we recognize
13

other potential risks as we are building the platform, then great caution will be taken in devising

implementations with the goal of avoiding them.

Legal Considerations

We will be collecting a non-zero amount of information to run the website. It would be

prudent to make sure we are within legal guidelines while we do so. The GDPR is the most

stringent set of guidelines on data collection and protection in the world, so we shall make sure

we are in compliance with them. Fortunately, as we have intention to sell advertiser data, we do

not have to be concerned with that specific set of rules. We will need to store information

directly related to the operation of the website- user’s names, rough locations in the world, email

addresses, and otherwise. As long as we make sure we inform the user we are collecting data,

and that this data is used solely for the purpose of operating the website, we are in the clear

(GDPR.eu). We will also likely need to use a small number of cookies in order to operate the

website, but again, as long as they are used for the operation of the website and nothing else, we

should be in the clear (GDPR.eu). As for data security, it would be best to try to implement the

website with as little sensitive data as possible.

We also need to make sure that we are in proper compliance with any state with laws

regarding recording. The most stringent laws in the US are those of the eleven states that

explicitly require two party consent in order to record a conversation or other communication

(Recording Law). Fortunately, if we use Zoom, Zoom will inform users they are being

recorded, and thus fulfill our legal obligations (Zoom).

Given the potential risks inherent in handling money, we will need to take additional

cautionary measures. To keep ourselves safe, we will rely on an outside reputable company to
14

handle the payment process. Our current plan is to use Paypal, as their security record is solid,

and their api implementation is doubly so.


15

Part III

PROJECT SCOPE

Timeline and Budget

The timeline for this project, shown below, is based on Agile software development.

Using the agile methodology will allow us to break down the project into sprints that each last

one week. By doing this, we can get continuous feedback from stakeholders. There is no budget

for the proposed project, but in the future the client may want to budget for server fees.

Detailed Timeline

In order to keep track of tasks for each sprint, the development team will be using Asana.

Our preliminary agile board can be viewed below.


16

Milestones

The major milestones, as shown in the timeline, can be broken down as followed:

● Week 1 - Implement basic competitor functionality on the backend

● Week 2 - Implement basic competitor functionality on the frontend

● Week 3 - Implement PayPal and Zoom APIs as well as judge functionality on the

backend

● Week 4 - Implement judge functionality on the frontend

● Week 5 - Usability testing


17

Risks and Dependencies

The main risk to the completion of this project is that the development team does not

have a lot of experience with API implementation. We plan to utilize the PayPal and Zoom APIs,

so insufficient experience could cause some delay in development time. Additionally, the

development team will need to learn React and Spring Boot in depth. These risks were deemed

acceptable since the team has access to skilled professors and working professionals who can

help with any issues.

Preliminary Usability Test Plan

Testing will be conducted in week 5 of the project. A focus group will be used to test the

platform and to acquire feedback. We will use five test subjects for the focus group. We will start

our search for test subjects during week 1.

These subjects will be asked to perform different tasks as the various user types. A user

tester will sign up for a competition, and will engage in a competition in a zoom call. A judge

will be called to resolve a dispute. An administrator will set up a tournament. All will also log in,

and give general feedback on the overall readability of the website.

Final Deliverables

We expect to have a website skeleton which is capable of what is described above. With

only 5 weeks, making the entire website fancy may be beyond the scope of what our timeline

allows. We will also have a basic SQL framework, which will be able to be hosted to provide

support to the website. In addition to those two, we will also include basic documentation and

survey results from the people we are able to interview.


18

Approach and Methodology

We will take an Agile approach to this project. More specifically, we will use the

SCRUM methodology by having daily SCRUM check-ins to see where each team member is at

with their task and what is left for said task. We will have a weekly meeting with our advisor to

discuss progress. Research has been conducted during the preliminary stages of planning this

project. Development and testing will occur throughout the next 5 weeks.
19

References

Speed Cubing Unlocked. (n.d.). Retrieved May 28, 2022, Cubelelo. from

https://www.cubelelo.com/pages/cubelelo-speedcubing-unlocked-2022

Fernando, J. (2021, August 19). Stakeholder. Investopedia.

https://www.investopedia.com/terms/s/stakeholder.asp

Fight Cybercrime. (n.d.). Hacked Email Account. Retrieved June 5, 2022, from

https://fightcybercrime.org/scams/hacked-devices-accounts/email/

GDPR.eu. (n.d.).General Data Protection Regulation (GDPR) compliance guidelines. Retrieved

June 5, 2022, from https://gdpr.eu/

Recording Law. All Party (Two Party) Consent States - list and details. (2022, February 23). Retrieved

June 7, 2022, from https://recordinglaw.com/party-two-party-consent-states/

Welcome to the World Cube Association. (n.d.). Retrieved May 25, 2022, World Cube

Association. from https://www.worldcubeassociation.org/

Wueest, C. (2019, August). Formjacking: How malicious javascript code is stealing user data

from thousands of websites each month. Broadcom.

https://docs.broadcom.com/doc/istr-formjacking-deep-dive-en

Zoom. (n.d.). Providing Consent to Be Recorded. Zoom Support. Retrieved June 7, 2022, from

https://support.zoom.us/hc/en-us/articles/360061691631-Providing-consent-to-be-recorded

You might also like