- Why BattleBoardCP?
- Screenshots
- Key Features
- Tech Stack
- Installation & Setup
- Contributing
- Feel free to connect with me!
Seeing my peers struggle to keep up with coding contests, I noticed problems such as:
- Missing contests because there was no easy way to track them
- Jumping between multiple platforms like Codeforces, CodeChef, and LeetCode
- Losing track of past contests and their performance trends
- Scattered notes, bookmarks, and solutions
- No single dashboard to manage everything efficiently
I created BattleBoardCP to fix these issues. Itβs a unified platform that helps you:
- π― Centralize contests from all major platforms in one place
- β° Never miss a contest with customizable email reminders
- π Track your progress with detailed analytics and history
- π Organize your notes, bookmarks, and solutions efficiently
- β‘ Save time by eliminating the need to check multiple websites
- Real-time contest updates from Codeforces, CodeChef, and LeetCode
- Personalized contest bookmarking & notes
- Email reminders for upcoming contests
- Performance analytics and progress tracking
- Secure OTP-based authentication
I kept it simple with MERN stack + a few extras:
- Frontend β React, Vite, Tailwind CSS
- State Management β Redux
- Backend β Node.js, Express
- Database β MongoDB
- APIs β CLIST API (contests), YouTube API (tutorials)
- Other Tools β Nodemailer (emails), node-cron (reminders)
Before you begin, ensure you have the following installed:
- Node.js (v18.x or higher)
- npm or yarn
- MongoDB (local or Atlas account)
- Git
-
Clone the Repo
git clone https://github.com/nikpatil7/BattleBoardCP.git cd BattleBoardCP -
Frontend Setup
cd frontend npm install echo "VITE_REACT_APP_BASE_URL=http://localhost:3030" > .env npm run dev
-
Backend Setup
cd backend npm install # Create .env file with your credentials # Replace the values with your actual credentials cat > .env << EOL MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret EMAIL_USER=your_email EMAIL_PASS=your_email_password PORT=3030 EOL npm run dev
VITE_REACT_APP_BASE_URL: Backend API URL (default: http://localhost:3030)
MONGODB_URI: MongoDB connection stringJWT_SECRET: Secret key for JWT token generationEMAIL_USER: Email for sending notificationsEMAIL_PASS: Email app passwordPORT: Server port (default: 3030)
Contributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'Add new feature') - Push to the branch (
git push origin feature/new-feature) - Open a Pull Request
For major changes, please open an issue first to discuss what you would like to change.
If you found this project helpful, please consider giving it a β!



