Contest-Guru is a one-stop platform for competitive programmers. We don’t host contests — instead, we aggregate contest information, profiles, and problem links into a single, easy-to-use interface.
👉 Live Demo: Contest-Guru
Currently implemented:
- 📅 Contest Tracker: View ongoing and upcoming contests from popular platforms via Clist API (Codeforces, LeetCode, AtCoder, etc.).
- 📝 Quick Problem Access: Access contest problems directly from contest listings.
Planned / In Progress:
- 👤 Unified Profiles: Submit your coding platform profile URLs and view a combined profile.
- 💡 Editorials & Solutions: Add contest solutions and editorials.
- 🛠️ Personalized Dashboards & Leaderboards
- Frontend: HTML, CSS, JavaScript
- Backend: Firebase (Firestore, Authentication, Hosting) – planned
- Hosting (current): GitHub Pages (static prototype)
Contest-Guru/
├── index.html
├── assets/
├──── images/
├──── css/
├──── js/
├── README.md
└── LICENSE
Clone the repository:
git clone https://github.com/shubhamranswal/Contest-Guru.git
cd Contest-GuruOpen index.html in your browser or use a simple local server:
npx serve .Contest-Guru will use Firebase for storing profiles, contests, and authentication.
-
Create Firebase Project:
- Go to Firebase Console → Add Project → Enable Firestore and Authentication.
-
Add Web App: Copy the Firebase config snippet.
-
Initialize Firebase in
/js/firebaseConfig.js:
import { initializeApp } from "https://www.gstatic.com/firebasejs/10.0.0/firebase-app.js";
import { getFirestore } from "https://www.gstatic.com/firebasejs/10.0.0/firebase-firestore.js";
import { getAuth } from "https://www.gstatic.com/firebasejs/10.0.0/firebase-auth.js";
const firebaseConfig = {
apiKey: "YOUR_API_KEY",
authDomain: "contest-guru.firebaseapp.com",
projectId: "contest-guru",
storageBucket: "contest-guru.appspot.com",
messagingSenderId: "XXXXXXXX",
appId: "1:XXXXXXXX:web:XXXXXXXX"
};
const app = initializeApp(firebaseConfig);
export const db = getFirestore(app);
export const auth = getAuth(app);- Build clean UI for contest listings.
- Display contests via Clist API (Codeforces, AtCoder, LeetCode, CodeChef etc.)
- Add profile submission form (store in Firebase)
- Generate unified user profiles
- Add problem links for contests
- Publish editorials/solutions
- Implement user authentication (Google/GitHub)
- Host full app on Firebase Hosting
Contributions are welcome!
- Fork the repository
- Create a new branch (
feature/your-feature) - Commit your changes
- Push your branch and open a Pull Request
This project is licensed under the MIT License.