A complete website for the 2025 Nebraska Cornhuskers football season, built with modern web technologies and optimized for Cloudflare Pages deployment.
Rhule-aid.com/
├── public/ # Static assets (Cloudflare Pages build output)
│ ├── css/
│ │ └── styles.css # Main stylesheet with dark mode support
│ ├── js/
│ │ ├── script.js # Core JavaScript functionality
│ │ └── mobile-menu.js # Mobile menu implementation
│ ├── images/
│ │ ├── favicon-rhuleaid.png # Site favicon
│ │ ├── rhule-aid.jpeg # Coach Rhule image
│ │ └── logos/
│ │ ├── nebraska-logo.png # Official Nebraska logo
│ │ └── default-logo.png # Fallback logo
│ ├── index.html # Homepage with hero, stats, features, news
│ ├── gameday.html # Game Day page with countdown functionality
│ ├── schedule.html # Season schedule with filtering
│ ├── roster.html # Team roster with position filtering
│ ├── news.html # Latest news and updates
│ ├── rhule-aid.html # Coach Matt Rhule dedicated page
│ ├── index_new.html # Alternative homepage design
│ └── index_old.html # Legacy homepage backup
├── functions/ # Cloudflare Pages Functions (API routes)
│ └── api/
│ ├── schedule.js # Schedule data API
│ ├── roster.js # Roster data API
│ ├── news.js # News feed API
│ ├── news.ts # TypeScript news API
│ ├── weather.ts # Weather data API
│ ├── conferences.js # Conference data API
│ ├── logo.js # Logo service API
│ └── discord-messages.js # Discord integration API
├── src/
│ └── migrations/
│ └── 001_create_teams_table.sql # Database schema
├── .env.example # Environment variables template
├── .gitignore # Git ignore rules
├── package.json # Node.js dependencies and scripts
├── wrangler.toml # Cloudflare configuration (secure)
├── SECRETS.md # Security setup documentation
└── README.md # This file
- Node.js 18+
- Cloudflare account
- Git
-
Clone the repository
git clone https://github.com/thefirstnoe1/Rhule-aid.com.git cd Rhule-aid.com -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env # Edit .env with your Cloudflare resource IDs -
Start development server
npm run dev # or npx wrangler pages dev public
-
Configure GitHub Secrets (see SECRETS.md)
DATABASE_ID- Cloudflare D1 Database IDSCHEDULE_CACHE_ID- Schedule KV Namespace IDROSTER_CACHE_ID- Roster KV Namespace IDNEWS_CACHE_ID- News KV Namespace IDWEATHER_CACHE_ID- Weather KV Namespace ID
-
Deploy to Cloudflare Pages
npm run deploy # or npx wrangler pages deploy public
- Hero section with floating logo animation
- Season statistics and quick facts
- Feature cards linking to main sections
- Latest news with dynamic loading
- Fully responsive with mobile menu
- Dark/light mode toggle
- Live countdown to next game
- Dynamic title changes on game day
- Weather integration for game location
- Mobile-optimized countdown display
- Complete 2025 season schedule
- Filter by home/away games
- Conference vs non-conference filtering
- Game status and results tracking
- Complete team roster
- Filter by position groups
- Player search functionality
- Detailed player information
- Latest team news and updates
- RSS feed integration
- Image thumbnails with fallbacks
- Mobile-responsive card layout
- Dedicated Coach Matt Rhule showcase
- Career highlights and philosophy
- Interactive timeline of achievements
- Environment variables for sensitive data
- No hardcoded API keys or IDs
- Secure GitHub Actions deployment
- Clean Git history (no exposed credentials)
- Mobile-first approach
- Breakpoints: 768px, 1024px, 1200px
- Touch-friendly navigation
- Optimized images and assets
- System preference detection
- Manual toggle with persistence
- Safari/iOS compatible
- Smooth theme transitions
- Cloudflare Pages CDN
- KV storage for caching
- Lazy loading images
- Optimized JavaScript
- RESTful API endpoints
- Real-time data fetching
- Error handling and fallbacks
- TypeScript support
# Cloudflare Resource IDs
DATABASE_ID=your-d1-database-id
SCHEDULE_CACHE_ID=your-schedule-kv-id
ROSTER_CACHE_ID=your-roster-kv-id
NEWS_CACHE_ID=your-news-kv-id
WEATHER_CACHE_ID=your-weather-kv-id- Build Output:
public/ - Node.js Compatibility: Enabled
- D1 Database: Configured for team data
- KV Namespaces: Set up for caching
npm run dev # Start development server
npm run build # Build for production
npm run deploy # Deploy to Cloudflare Pages
npm run preview # Preview production build- CSS: Modern CSS with custom properties (CSS variables)
- JavaScript: Vanilla JS with ES6+ features
- API: Cloudflare Pages Functions
- Database: Cloudflare D1 (SQLite)
- Caching: Cloudflare KV
- ✅ Chrome 90+
- ✅ Firefox 90+
- ✅ Safari 14+
- ✅ Edge 90+
- ✅ Mobile browsers (iOS Safari, Chrome Mobile)
- ✅ Progressive enhancement for older browsers
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
For questions or issues:
- Check SECRETS.md for setup help
- Review PROJECT_STRUCTURE.md for architecture details
- Open an issue on GitHub
Go Big Red! 🌽🏈
Built with ❤️ for Husker fans everywhere