A college football playoff prediction web application that allows users to predict game outcomes and see how they affect conference championships and playoff scenarios.
- 🏈 Browse all FBS college football teams
- 🏆 View conference standings and rankings
- 🎮 Interactive game predictor
- 📊 Calculate playoff scenarios based on predictions
- 🔄 Real-time updates with actual game results
- 💾 Save and share prediction scenarios
- Frontend: Next.js 14, TypeScript, React
- UI: Tailwind CSS, shadcn/ui
- Database: Convex (real-time, serverless)
- State Management: Zustand
- API: College Football Data API
- Deployment: Vercel
- Node.js 18+ installed
- npm or yarn package manager
- College Football Data API key (get one at collegefootballdata.com)
- Clone the repository:
git clone https://github.com/yourusername/cfp-machine.git
cd cfp-machine- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env.localEdit .env.local and add your API key:
CFB_API_KEY=your-api-key-here
- Set up Convex:
npx convex devThis will prompt you to create a new Convex project or link to an existing one.
- Run the development server:
npm run devOpen http://localhost:3000 to view the application.
cfp-machine/
├── app/ # Next.js app router pages
│ ├── teams/ # Team pages
│ ├── conferences/ # Conference pages
│ └── predictor/ # Playoff predictor
├── components/ # React components
│ ├── ui/ # shadcn/ui components
│ ├── teams/ # Team components
│ ├── conferences/ # Conference components
│ └── games/ # Game components
├── convex/ # Backend database
│ ├── schema.ts # Database schema
│ └── sync.ts # API sync functions
├── lib/ # Utilities
│ └── cfb-api.ts # API client
└── store/ # State management
└── predictions.ts # Prediction store
To populate the database with current season data:
- Make sure Convex is running (
npx convex dev) - Run the sync function from the Convex dashboard or programmatically
- Data will be fetched from the College Football Data API and stored in Convex
-
Push your code to GitHub
-
Import your repository in Vercel
-
Configure environment variables:
CFB_API_KEY: Your College Football Data API keyNEXT_PUBLIC_CONVEX_URL: Your Convex deployment URL
-
Deploy!
- Project setup and configuration
- Database schema design
- Core UI components
- Basic pages (teams, conferences)
- Game prediction interface
- API data synchronization
- Conference championship logic
- Complex tiebreaker rules
- Playoff bracket visualization
- User accounts and saved scenarios
- Share predictions feature
- Historical data analysis
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License
- Data provided by College Football Data API
- UI components from shadcn/ui
- Built with Next.js and Convex