https://github.com/beargallbladder/fairwaylive
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.0%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: beargallbladder
- Language: JavaScript
- Default Branch: main
- Homepage: https://fairwaylive.vercel.app
- Size: 337 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
FairwayLive 🏌️♂️
Real-time golf scoring app with social betting using Pride Points. Turn every round into a live sports broadcast for your friends!
Features
- Automatic Course Detection: GPS-based course identification and hole tracking
- Voice-First Scoring: One-tap voice recording with AI transcription
- Live Leaderboard: Real-time scoring updates with trend indicators
- Pride Points Betting: Virtual currency betting system (no real money)
- Social Commentary: Voice notes and reactions during rounds
- Advanced Analytics: Shot tracking, improvement recommendations, and insights
Tech Stack
- Backend: Node.js, Express, PostgreSQL, Redis
- Real-time: Socket.io, WebSocket
- AI/ML: OpenAI Whisper (voice), MCP tools
- Mobile: React Native (iOS/Android)
- Infrastructure: Docker, MCP servers
Quick Start
```bash
Clone the repository
git clone https://github.com/yourusername/fairwaylive.git cd fairwaylive
Run the quick start script
./quickstart.sh
Or manually:
npm install docker-compose up -d postgres redis npm run dev ```
Environment Setup
Copy .env.example to .env and fill in your API keys:
env
JWT_SECRET=your-secret-key
OPENAI_API_KEY=sk-...
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
S3_BUCKET_NAME=fairwaylive-media
API Endpoints
Authentication
POST /api/auth/register- Create new accountPOST /api/auth/login- LoginPOST /api/auth/refresh- Refresh tokenGET /api/auth/verify- Verify token
Rounds
POST /api/rounds- Create new roundGET /api/rounds/active- Get active roundsGET /api/rounds/:id- Get round detailsPOST /api/rounds/:id/scores- Submit scorePOST /api/rounds/:id/complete- Complete round
Betting
GET /api/betting/balance- Get Pride Points balancePOST /api/betting/place- Place betGET /api/betting/odds- Get betting oddsGET /api/betting/rounds/:id/leaderboard- Betting leaderboard
Analytics
GET /api/analytics/dashboard- User analyticsGET /api/analytics/rounds/:id- Round analyticsGET /api/analytics/recommendations- Improvement tips
WebSocket Events
Client → Server
round:join- Join a roundscore:update- Update scorelocation:update- Update GPS locationvoice:send- Send voice notebet:place- Place Pride Points bet
Server → Client
score:updated- Score update broadcastleaderboard:update- Leaderboard changesvoice:received- Voice note broadcastbet:placed- Bet notificationuser:joined- User joined round
MCP Tools
The app uses Model Context Protocol (MCP) for advanced features:
- Course Detection: GPS geofencing and course identification
- Voice Transcription: Golf-specific vocabulary processing
- Score Parsing: Natural language score extraction
- Betting Engine: Odds calculation and bet resolution
- Real-time Updates: WebSocket broadcasting
- Analytics Collection: Performance tracking and insights
Mobile App
The React Native app is in the mobile directory:
```bash cd mobile npm install
iOS
npx pod-install npm run ios
Android
npm run android ```
Production Deployment
```bash
Set environment variables
export JWTSECRET=... export OPENAIAPI_KEY=...
... other vars
Deploy
./deploy.sh ```
Docker Compose
The app includes a complete Docker setup:
```bash
Start all services
docker-compose up -d
View logs
docker-compose logs -f app
Stop services
docker-compose down ```
Testing
```bash
Run all tests
npm test
Run specific test suite
npm test -- auth.test.js
Run with coverage
npm run test:coverage ```
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests
- Submit a pull request
License
MIT License - see LICENSE file
Support
- Documentation: docs.fairwaylive.com
- Issues: GitHub Issues
- Discord: Join our community
Built with ❤️ for golfers who can't always play together
Owner
- Name: Sam Kim
- Login: beargallbladder
- Kind: user
- Repositories: 2
- Profile: https://github.com/beargallbladder
GitHub Events
Total
- Push event: 4
Last Year
- Push event: 4
Dependencies
- node 18-alpine build
- nginx alpine
- postgres 15-alpine
- redis 7-alpine
- 836 dependencies
- @types/node ^18.15.11 development
- eslint ^8.38.0 development
- jest ^29.5.0 development
- nodemon ^3.0.1 development
- supertest ^6.3.3 development
- @aws-sdk/client-s3 ^3.521.0
- @modelcontextprotocol/sdk ^1.0.0
- @turf/turf ^6.5.0
- bcrypt ^5.1.0
- bull ^4.10.4
- cors ^2.8.5
- dotenv ^16.0.3
- express ^4.18.2
- geolib ^3.3.4
- jsonwebtoken ^9.0.0
- multer ^1.4.5-lts.1
- openai ^4.28.0
- postgres ^3.3.4
- redis ^4.6.5
- socket.io ^4.6.1
- winston ^3.8.2