This project aims to make volleyball matches even more exciting by introducing a betting system for our university. It offers a free and fun experience for registered students who can participate by predicting match results. Registered users earn coffee beans, and they can earn extra beans by referring others. The betting system requires at least two users to join a match for a bet to be valid. The winning user receives the entire accumulated balance on the table.
- Registration with "@etu.edu.tr" email address
- Earning coffee beans for registered students
- Referral system to earn extra coffee beans
- Placing bets on matches
- Minimum two users required for a valid bet
- Winner receives the accumulated balance
- Leaderboard with rewards for top three individuals
etuscore.mp4
If above video is broken https://youtu.be/8f1vHFwHP60
To get started with this project:
- Clone the repository:
git clone https://github.com/TOBB-ETU-CS-Community/etuScore.git
- Install the dependencies:
npm install
- Configure the Firebase credentials in the project
- Run the development server:
npm start
We welcome contributions from everyone! If you would like to contribute to this project, please follow these steps:
- Fork the repository and clone it to your local machine.
- Create a new branch for your feature or bug fix:
git checkout -b my-new-feature
. - Make your changes and test thoroughly.
- Commit your changes:
git commit -am 'Add some feature'
. - Push to the branch:
git push origin my-new-feature
. - Open a pull request (PR) on GitHub and provide a clear description of your changes.
If you encounter any bugs, issues, or have any suggestions, please open an issue on the GitHub repository. We appreciate detailed bug reports, including steps to reproduce the issue.
We take security seriously. If you discover any security vulnerabilities or breaches, please reach out to Hüseyin Pekkan at hpekkan@etu.edu.tr or Berkay Yıldız at Berkay.yildiz@etu.edu.tr. Please avoid disclosing the vulnerability publicly until we have had a chance to address it.
Field | Type |
---|---|
balance | number (integer) |
bets | array of strings |
isAdmin | boolean |
isReferred | boolean |
isVerified | boolean |
userId | string |
username | string |
Field | Type |
---|---|
roomId | string |
startDate | string |
availableTeam | string |
betAmount | number |
createdAt | string (ISO 8601) |
creator | string |
creatorName | string |
creatorTeam | string |
gameFinished | boolean |
gameTime | string |
matchId | string |
name | string |
participant | string |
participantName | string |
Field | Type |
---|---|
createdAt | string (formatted date) |
data | number |
grup1 | array of strings (size 6) |
grup2 | array of strings (size 6) |
grup3 | array of strings (size 6) |
grup4 | array of strings (size 6) |
grup5 | array of strings (size 6) |
Field | Type |
---|---|
data | array of objects |
matchNumber | string |
date | string |
time | string |
group | string |
team1 | string |
team2 | string |
result | string |