A platform to enhance football matches with alternative commentary. Watch any football stream and enjoy commentary from your favorite commentators, perfectly synchronized with the action.
- Watch with Custom Commentary: Mute your original stream and listen to our commentators.
- Record Your Commentary: Become a commentator and share your insights.
- Synchronization Tools: Easily match the commentary with your video.
- Chrome Extension: Control commentaries directly from your browser.
- Works with Any Stream: Use with any football streaming service.
- Frontend: Next.js, React, TailwindCSS
- Backend: Next.js API Routes
- Database: SQLite (easily adaptable to other databases)
- Authentication: JWT-based auth
- Audio: Web Audio API, WaveSurfer.js
- Chrome Extension: JavaScript/TypeScript
- Node.js (v18 or newer)
- npm or yarn
-
Clone the repository:
git clone https://github.com/yourusername/commentator.git cd commentator/commentator-app
-
Install dependencies:
npm install
-
Set up the database:
npx prisma migrate dev
-
Start the development server:
npm run dev
The application should now be running at http://localhost:3000.
-
Navigate to the Chrome Extension directory:
cd chrome-extension
-
Build the extension:
npm install npm run build
-
Load the extension in Chrome:
- Open Chrome and go to
chrome://extensions/
- Enable "Developer mode"
- Click "Load unpacked" and select the
chrome-extension/build
directory
- Open Chrome and go to
- Node.js (v18 or newer)
- npm or yarn
- PM2 (optional, for process management)
-
Clone the repository on your server
-
Set up environment variables in a
.env
file:JWT_SECRET=your_secure_jwt_secret NODE_ENV=production
-
Run the deployment script:
chmod +x scripts/deploy.sh ./scripts/deploy.sh
-
For manual deployment:
npm ci npx prisma generate npx prisma migrate deploy npm run build npm start
/app
: Main application code/api
: API routes/components
: React components/lib
: Utility functions and libraries
/chrome-extension
: Chrome extension code/prisma
: Database schema and migrations/public
: Static assets
Contributions are welcome! Please feel free to submit a Pull Request.