Table tennis tracking application using React and Firebase.
Hosted at: https://jamesgiu.github.io/quick-hit/
npm start
Runs the app in the development mode.\ Open http://localhost:3000 to view it in the browser.
The page will reload if you make edits.\ You will also see any lint errors in the console.
npm run deploy
Will deploy the application to github-pages
to be hosted.
See more: https://github.com/jamesgiu/quick-hit/deployments/activity_log?environment=github-pages
npm run lint
and npm run lint:fix
Runs eslint
over the project.
npm run lint:css
and npm run lint:css:fix
Runs stylelint
over the project.
npm run style
and npm run style:fix
Runs prettier
over the project.
Feel free to contribute to any Issues or make your own!
The guidelines are as follows:
The .env file(s) should contain details for the application to reach your Firebase DB.
.env.development
will be used for npm start
.
.env.production
will be used for npm build
.
The following is an example file:
REACT_APP_FB_URL=https://<YOUR-DB>.<YOUR-REGION>.firebasedatabase.app/
REACT_APP_FB_ANALYTICS_UA="UA-123"
The catalogue will store references to all instances of QuickHit available.
REACT_APP_FB_URL
in .env
db-example-catalogue.json
to get the schema initialisedThe below is an example of a catalogue entry for a QuickHit instance.
{
"instances" : {
"dbb0a47d-9a2a-40ef-900f-4e11b8dc5fd3 " : {
"fb_api_key" : "AIzaSyC-lBTbcM2aYfD5p7AgAoXJA30UwvpLnL4",
"fb_srv_acc_name" : "table-tennis@svc.acc",
"fb_url" : "https://table-tennis-testing-default-rtdb.asia-southeast1.firebasedatabase.app/",
"name" : "Demo Instance",
"restricted_happy_hour" : true,
"tournaments" : true,
"google_auth": true
}
}
}
Retrieved via Firebase using the following steps:
fb_api_key
in the catalogue database.
Retrieved via Firebase using the following steps:
fb_srv_acc_name
in the catalogue database.
Retrieved via Firebase using the following steps:
If true, Happy Hour can only occur at 12:00PM or 4:00PM (better for a workplace!)
If true, tournaments will be enabled.
If true, Authentication via a Google Account provider will be enabled. Expects the Instance on Firebase to have Google as a Sign-In provider.
An instance database will store all the matches, players, and other data relevant to a particular instance of QuickHit.
fb_url
in the catalogue database.db-example.json
to get the schema initialised{
"rules": {
".read": "auth.uid == 'gSid15y7XJMC8E273OIjLjgaYig2'",
".write": "auth.uid == 'gSid15y7XJMC8E273OIjLjgaYig2'"
}
}