Skip to content

dedhaw/Info-441-MathFun

Repository files navigation

Info-441-MathFun

Info 441 Final Project

Project Description

Our application is designed for students, lifelong learners, and competitive thinkers who want to recapture the thrill of testing their limits, both in speed and in skill. We’re building a gamified environment where users race to solve math problems as quickly and accurately as possible, with results displayed instantly on a live leaderboard. Users can add friends, challenge one another, and see their progress over time. We want to make problem-solving feel energetic, social, and fun again, like it did when we were kids racing through times tables in the classroom.

Our target audience includes high school and college students looking to sharpen their mathematical and computational skills, as well as adults who simply miss that old spark of academic competition. Many of us remember those timed worksheets or classroom challenges that turned learning into a friendly race. While those moments were simple, they built confidence, speed, and a sense of excitement that often fades in more advanced academic settings. Our application aims to recreate that sense of nostalgia, bringing back the excitement of competing against the clock, but in a modern, digital space where users can measure their improvement and connect with others who share that same enthusiasm.

Our audience will be drawn to this application because it transforms practice into play. Traditional problem-solving platforms are often solitary and static, focusing solely on correctness. In contrast, our app rewards speed, consistency, and improvement, making learning feel alive and motivating. The social and competitive elements such as leaderboards, friend lists, and head-to-head challenges, provide the same adrenaline rush as those childhood math sprints, while helping users build lasting skills in a low-pressure, supportive environment. Whether someone is preparing for a math competition, brushing up for a technical interview, or just looking for a fun way to stay sharp, our platform creates an experience that’s both productive and nostalgic.

As developers, we’re inspired by that feeling of childhood excitement, when math wasn’t just about getting the right answer, but about how quickly you could think on your feet. We want to build an application that rekindles that spirit while leveraging the power of modern technology. We’re excited by the technical challenge of creating a real-time, responsive platform that connects users across devices, and by the human challenge of making learning genuinely enjoyable again. Ultimately, our goal is to bring back the joy of discovery, competition, and growth, capturing the same spark that first made many of us fall in love with math in the first place.

User Stories / Requirements

Priority User Description Technical Implementation
P0 As a user I want to create an account to sign in and out of Use Azure authentication when creating accounts, and add them to the database
P0 As a user I want to play a game Generate math problems and have the player solve as many as they can before a timer (45 seconds?)
P1 As a user I want to see and add friends Store an array of friends as part of the user
P1 As a user I want to see my high score Implement a high score database to fetch score
P2 As a user I want to play versus my friends From friends list, send match requests through WebSocket if they are online; store friends in a table
P2 As a user I want to see top players Fetch top 20 players from high score database
P3 As a user I want to see my lifetime statistics Store lifetime stats for each player as a part of user information
P3 As a user I want to distract my opponent in a versus match Play a soundboard/image
P3 As a user Have a tutorial Show an onboarding tutorial after signup explaining the game and adding friends
P3 As a user with friends I want to see my friends' high scores Search players and send friend requests; friends list displays high scores from database
P3 As a user I want to see my friends' activity status WebSocket connection shows if a player is online; if socket closes, log last online timestamp in DB
P4 As a user Have custom themes Implement frontend themes; allow users to change colors stored in their settings table

About

Info 441 Final Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors