Professional Documents
Culture Documents
Capstone Project Proposal
Capstone Project Proposal
CUBE-IT
_______________
A Capstone Proposal
Presented to the
_______________
In Partial Fulfillment
Bachelor of Science
in
Computer Science
_______________
by
Jordan Guzman
Summer 2022
2
Copyright © 2020
by
Cube-It
by
Ashley Teraishi, Ian Rowe, and
Jordan Guzman
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
TABLE OF CONTENTS
EXECUTIVE SUMMARY................................................................................................ 3
PART I
Introduction ........................................................................................................................5
Goals ..................................................................................................................................8
Objectives ..........................................................................................................................8
PART II
Stakeholders .....................................................................................................................11
PART III
REFERENCE ...................................................................................................................19
5
PART I
INTRODUCTION
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,
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
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
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
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
Goals
● Allow contestants to easily track their own competition statistics, as well as the statistics
of others
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
● 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
● “Coins” will be awarded for top 3 winners in a bracket. There will be many brackets for
● 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
● 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
PART II
Stakeholders
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
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
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.
information which can be used for malicious purposes such as committing fraud or stealing the
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
Legal Considerations
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
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
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,
Part III
PROJECT SCOPE
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.
Milestones
The major milestones, as shown in the timeline, can be broken down as followed:
● Week 3 - Implement PayPal and Zoom APIs as well as judge functionality on the
backend
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
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
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,
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
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
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/
Recording Law. All Party (Two Party) Consent States - list and details. (2022, February 23). Retrieved
Welcome to the World Cube Association. (n.d.). Retrieved May 25, 2022, World Cube
Wueest, C. (2019, August). Formjacking: How malicious javascript code is stealing user data
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