A modern, feature-rich web application that creates a personalized website for your Sleeper fantasy football league. Built with Next.js, TypeScript, and Tailwind CSS.
Live demo site used for my league: https://league-pulse.vercel.app/
- League Dashboard: View league settings, current standings, recent matchups, and league activity.
- Historical Data: Track your league's history across multiple seasons including records, achievements, and all-time stats.
- Next-Gen Stats: Advanced analytics and performance metrics with engaging visualizations.
- Media Center: Live football news from top sources. Customizable AI Media Personalities to report on your league coming soon.
- Responsive Design: Works seamlessly on desktop and mobile devices.
- Dark/Light Mode: Choose your preferred theme.
- Node.js 18.x or later (or Docker - see Docker section below)
- A Sleeper fantasy football league
- Git (for version control)
- Clone the repository:
git clone https://github.com/ebrown-32/LeaguePulse
cd LeaguePulse- Install dependencies:
npm install- Create a
.env.localfile in the root directory:
NEXT_PUBLIC_LEAGUE_ID=your_sleeper_league_idReplace your_sleeper_league_id with your Sleeper league ID. You can find this in your Sleeper league URL: https://sleeper.app/leagues/<league_id>.
- Start the development server:
npm run devVisit http://localhost:3000 to see your league website.
Docker provides a consistent development environment across all platforms. Here's how to use it:
-
Install Docker Desktop
-
Clone the repository:
git clone https://github.com/ebrown-32/LeaguePulse
cd LeaguePulse- Build and start the Docker container:
docker compose up -dThe application will be available at http://localhost:3000.
Dev Containers provide a full-featured development environment with all necessary extensions and tools:
-
Prerequisites:
- Install VS Code
- Install Docker Desktop
- Install the Dev Containers extension in VS Code
-
Open in Dev Container:
- Clone the repository
- Open the folder in VS Code
- Press
F1, type "Dev Containers: Open Folder in Container" - VS Code will reload and build the dev container
-
Once inside the container:
- The terminal will automatically be in the correct directory
- All necessary extensions will be pre-installed
- Node.js and npm will be pre-configured
- Just run
npm installandnpm run devto start developing
Vercel offers the easiest way to deploy your League Pulse website. Here's a step-by-step guide:
-
Prepare Your Project
- Fork the repository to your GitHub account:
- Visit
https://github.com/ebrown-32/LeaguePulse - Give the project a star! ⭐️
- Click the "Fork" button in the top-right corner
- Wait for the fork to complete
- Visit
- Fork the repository to your GitHub account:
-
Sign Up for Vercel
- Go to Vercel.com
- Click "Sign Up"
- Choose "Continue with GitHub" (recommended)
- Follow the authorization steps
-
Import Your Project
- Once logged in to Vercel:
- Click "Add New..."
- Select "Project"
- Find and select your forked repository
- Click "Import"
- Once logged in to Vercel:
-
Configure Your Project
- Project Name: Choose a name (e.g.,
my-league-website) - Framework Preset: Should auto-detect as "Next.js"
- Root Directory: Leave as
. - IMPORTANT:In the "Environment Variables" section:
- Click "Add Variable"
- Name:
NEXT_PUBLIC_LEAGUE_ID - Value: Your Sleeper league ID
- Click "Add"
- Project Name: Choose a name (e.g.,
-
Deploy
- Click "Deploy"
- Wait for the deployment to complete (usually 1-2 minutes)
- Click the "Visit" button to see your live site!
Your site will now be live at https://your-project-name.vercel.app
Vercel will automatically redeploy your site whenever you push changes to your GitHub repository. To update:
- Pull the latest changes from the main repository (if you want updates):
git pull origin main- Push to your fork:
git push- Vercel will automatically detect the changes and redeploy your site
To update to the latest version:
- Pull the latest changes:
git pull origin main- Install any new dependencies:
npm install- Rebuild the application:
npm run buildThe only required configuration is your Sleeper league ID in the .env.local file:
NEXT_PUBLIC_LEAGUE_ID=your_sleeper_league_idYou can find your league ID in the URL when viewing your league on Sleeper: https://sleeper.app/leagues/<league_id>
The application automatically adapts to your league's settings, including:
- Roster positions
- Scoring type (PPR/Standard)
- Playoff settings
- Number of teams
- League history
No additional configuration is needed as all league settings are pulled directly from the Sleeper API.
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is open source and free to use for personal, non-commercial purposes. You may not resell, sublicense, or monetize this project or any derivatives of it without explicit permission. All rights reserved.
- Built with Next.js
- Styled with Tailwind CSS
- Data sourced from Sleeper API