Fantasy sports application for the FIRST Robotics Competition (FRC).
This project allows users to participate in a fantasy draft of FRC teams, tracking their performance and calculating scores based on real-time data from The Blue Alliance (TBA) and Statbotics.
- Next.js Framework: Modern, fast, and SEO-friendly.
- Firebase Backend: Real-time database (Firestore), scalable serverless functions, and secure authentication.
- Dynamic Drafting: Real-time drafting system for FRC teams.
- Stat Tracking: Automatic scoring using data from TBA and Statbotics APIs.
- Node.js (v20+ recommended)
- Firebase CLI (
npm install -g firebase-tools) - Git
git clone https://github.com/aidankeighron/fantasy-FRC.git
cd fantasy-FRCnpm install
cd functions
npm install
cd ..Detailed setup instructions, including Firestore rules, Firebase Functions, and environment variables, can be found in instructions.md.
- Create a Firebase project at the Firebase Console.
- Enable Authentication (Email/Password), Firestore, and Functions.
- Configure your
.env.localwith your Firebase project credentials (seeinstructions.mdfor the template).
To run the Next.js development server:
npm run devThe application will be available at http://localhost:3000.
We recommend using Firebase App Hosting for Next.js projects. It handles SSR and API routes automatically.
- Connect your GitHub repository in the Firebase Console under App Hosting.
- Push your changes to the main branch for automatic deployment.
When you update code in the functions/ directory:
firebase deploy --only functionsfirebase deploy --only firestoresrc/: Next.js application source code (components, pages, styles).functions/: Firebase Cloud Functions (backend logic, data syncing).public/: Static assets (images, icons).legacy/: Contains the previous Node.js/MySQL/Docker version of the project.instructions.md: Comprehensive setup and technical configuration guide.
- Create a new branch for your feature or bugfix.
- Ensure your code follows the project's linting and type-checking rules.
- Submit a pull request for review.
This project is licensed under the MIT License - see the LICENSE file for details.