OpenTrailPaper
Open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO, with offline maps, GPX routes, FIT recording and Bluetooth sensors.
Score matches ball by ball, practise with purpose, track your progress, get coaching from a clip of your own game, play your mates and follow the pro tour live. Coming soon to iPhone.
Sports & fitnessTypeScript · PLpgSQLGitHub @GeorgeChara92OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A cross-platform mobile application (iOS/Android) for snooker players focused on practice routines, performance tracking, and AI-powered coaching.
git clone <repo-url>
cd SnookerApp/SnookerApp
npm install
cp .env.example .env
.env with your Supabase credentials:EXPO_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
EXPO_PUBLIC_SUPABASE_ANON_KEY=your-anon-key
npm start
i for iOS simulatora for Android emulatorSnookerApp/
+-- src/
� +-- api/ # Supabase client and API calls
� +-- components/ # Reusable UI components
� +-- constants/ # App constants and theme
� +-- hooks/ # Custom React hooks
� +-- navigation/ # Navigation configuration
� +-- screens/ # Screen components
� +-- services/ # Business logic services
� +-- store/ # Zustand state stores
� +-- types/ # TypeScript types
� +-- utils/ # Utility functions
+-- supabase/
� +-- functions/ # Edge Functions
� +-- migrations/ # Database migrations
+-- assets/ # Images and fonts
Create a new Supabase project at https://supabase.com
Run the migrations in the SQL Editor:
supabase/migrations/001_initial_schema.sqlsupabase/migrations/002_seed_data.sqlConfigure Storage buckets:
ai-videos bucket (private)profile-images bucket (public)Enable Row Level Security (RLS) policies (already included in migrations)
Edit src/constants/routines.ts and add a new routine object to DEFAULT_ROUTINES:
{
id: 'rtn-new',
category_id: 'cat-1',
name: 'New Routine',
description: 'Description here',
difficulty: 'intermediate',
setup_instructions: 'Setup steps...',
scoring_type: 'points',
max_score: 100,
is_system_routine: true,
created_at: new Date().toISOString(),
updated_at: new Date().toISOString(),
}
npm test
# iOS
expo build:ios
# Android
expo build:android
The AI Coach feature uses a multi-stage pipeline:
git checkout -b feature/my-featuregit commit -am "Add my feature"git push origin feature/my-featureMIT License - see LICENSE file for details
For support, email [email protected] or open an issue on GitHub.