
SATShark is an innovative multiplayer educational game designed to enhance SAT preparation while engaging in competitive gameplay.
By: John O'Meara, Aditya Bankoti, Berkan Mertan, Ian Kim
Explore the repo »
View Video
·
Report Bug
·
Request Feature
Table of Contents
SATShark was made at HackPNW 2024 Spring Hackathon. When we first heard the prompt, "Make the Boring Not Boring," we unanimously jumped to the most procrastinated, most mind-numbing, and most boring thing we all had to go through right now and this week: SAT prep. We loved online competitive platforms for coding, like Clash of Code or CF or the now-deleted binarysearch.com, and we wondered: how do they turn the mundane task of practicing into something so exciting and still extremely educational? We realized that the ultimate solution to SAT prep was SATShark, an easy-to-use, community multiplayer website where users can make private lobbies, load up a queue of questions, and race to finish all the questions correctly before their friends do. It takes inspiration from CodinGame, LeetCode, the College Board, and multiplayer games like Valorant and Apex to create a competition that maximizes attention and incentivizes users to become the best SAT takers they can be and turn SAT testing into an immensely fun experience.
Install Node.JS, and in each frontend
and backend
folder, run npm i
to install each library. After, run npm run dev
from each respective end-point to run the dev server.
Insatll MongoDB and import the sample DBs from the ./backend/server/mongo/
Make sure to update the DB URL in ./backend/server/index.js
and change the back-end API link in the ./frontend/src/client.js
The front end URL should be https://localhost:5173
and the backend https://localhost:3000
- AP Exam database
- Online Features
- Chat Feature
See the open issues for a full list of proposed features (and known issues).
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. We would greatly appreciate any contributions you make.
If you have a suggestion to improve this, please fork the repo and create a pull request. You can also open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
TBD