A modern web application for tracking swimmer progress, meet results, rankings, and standards progression. Built to solve the problem of silo-ed swimming data and improve swimmer motivation through comprehensive analytics.
- Swimmer Profiles: Complete swimmer management with progress tracking
- Meet Results: Import and track meet results from SwimCloud and USA Swimming
- Rankings: View rankings by stroke, region, state, course, and nationals
- Standards Progression: Track qualifying times and standards advancement
- Performance Analytics: Compare athletes and analyze trends
- Search & Compare: Advanced search with swimmer comparison tools
- Unified Data: Consolidates data from multiple sources (SwimCloud, USA Swimming)
- Progress Tracking: Visual progress indicators and improvement metrics
- Motivation: Clear progression paths and achievement tracking
- Analytics: Comprehensive performance analysis and trends
- Standards: Automatic standards qualification tracking
- Frontend: Next.js 15 with TypeScript
- UI: shadcn/ui with modern minimal theme
- Database: Neon (PostgreSQL)
- Styling: Tailwind CSS
- Data Scraping: Axios, Cheerio, Puppeteer
- Charts: Recharts for data visualization
- Node.js 18+
- npm or yarn
- Neon database account
-
Clone the repository
git clone <repository-url> cd swimming-app
-
Install dependencies
npm install
-
Set up environment variables Create a
.env.localfile:DATABASE_URL=your_neon_database_url
-
Set up the database
# Run the schema file to create tables psql $DATABASE_URL -f src/lib/schema.sql
-
Start the development server
npm run dev
-
Open your browser Navigate to http://localhost:3000
The application uses a comprehensive database schema with the following main tables:
- swimmers: Swimmer profiles and basic information
- meets: Meet information and scheduling
- events: Swimming events and distances
- results: Individual swim results and times
- rankings: Rankings by various criteria
- standards: Qualifying times and standards
- progress: Progress tracking and improvements
The app includes scrapers for SwimCloud data:
- Swimmer profiles and results
- Meet results and rankings
- Performance data extraction
Official USA Swimming data integration:
- Meet results from official database
- Rankings and standards
- Swimmer profiles
Built with shadcn/ui components:
- Modern, accessible design
- Responsive layout
- Dark/light mode support
- Consistent design system
- Overview of key metrics
- Recent activity feed
- Quick actions
- Performance trends
- Swimmer profiles and search
- Progress tracking
- Performance analytics
- Standards qualification
- Filterable rankings by stroke/region/state
- Course-specific rankings
- Age group breakdowns
- Standards progress
- Meet scheduling and results
- Performance analysis
- Record tracking
- Meet statistics
- Qualifying times tracking
- Standards progression
- Age group standards
- Progress visualization
- Advanced search functionality
- Swimmer comparison tools
- Performance analysis
- Trend tracking
- LLM Integration: AI-powered insights and recommendations
- Voice Search: Voice-enabled search and notes
- Mobile App: Native mobile application
- Advanced Analytics: Machine learning for performance prediction
- Social Features: Swimmer communities and sharing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
This project is licensed under the MIT License.
For support or questions, please open an issue in the repository.
Built with ❤️ for the swimming community