A mobile application designed for competitive programmers to check their profile information from three major platforms—Codeforces, LeetCode, and AtCoder. Users can view their rankings, ratings, problems solved, and more.
Additionally, the app features an in-app calendar that helps users plan their contest participation by viewing past, ongoing, and upcoming contests. Users can also add or delete contests from their personalized calendar.
- User Account: Allows users to create an account for a more personalized experience, enabling them to easily check ratings and contests.
- Profile Aggregation: View user data from Codeforces, LeetCode, and AtCoder. See your rankings, rating, problems solved, and other stats for each platform.
- Contests Page: View past, ongoing, and upcoming contests from all three platforms.
- Personalized Calendar: Users can store relevant contests in their calendar and delete them once the contest day has passed.
- Signup/Login: Register or log in using Firebase Authentication.
- Profile Page: View your/your friend's profile data from Codeforces, LeetCode, and AtCoder, including ratings, problems solved, and ranks.
- Contests: View all the past, ongoing and upcoming contests from all three platforms. Can add all the upcoming contests in the in-app calendar.
- Contest Calendar:
Browse contests from various platforms. Add or delete contests to manage your participation using the in-app calendar.
- Android Studio (latest version)
- Firebase Project
- APIs from Codeforces, LeetCode, and AtCoder
-
Clone the Repository:
git clone https://github.com/PurvaNS2005/Competitive-Programming-Portal -
Open in Android Studio:
Open Android Studio and select File > Open. Navigate to the project folder and open it.
-
Configure Firebase:
Create a Firebase project at Firebase Console. Download the google-services.json file and place it in the app directory. Enable Firebase Authentication and Firestore in the Firebase console.
-
API Keys and Endpoints:
Get API access from Codeforces, LeetCode, and AtCoder. Follow their respective API documentation. Configure the API URLs in your app code.
-
Run the App:
Build the app in Android Studio and run it on an emulator or a physical device.
GET https://codeforces.com/api/user.info?handles=${handles}| Parameter | Type | Description |
|---|---|---|
handles |
string |
Required. Codeforces handle of the user to fetch. |
GET https://codeforces.com/api/contest.list?gym=false| Parameter | Type | Description |
|---|---|---|
gym |
boolean |
Required. false to exclude gym contests |
GET https://kenkoooo.com/atcoder/resources/contests.json| Parameter | Type | Description |
|---|---|---|
None |
This endpoint does not require any parameters. |
GET https://kenkoooo.com/atcoder/atcoder-api/v3/user/ac_rank| Parameter | Type | Description |
|---|---|---|
user |
string |
The handle of the user. |
GET https://alfa-leetcode-api.onrender.com/{handle}/contest/history| Parameter | Type | Description |
|---|---|---|
handle |
string |
The leetcode user handle. |
GET https://alfa-leetcode-api.onrender.com/userProfile/{userName}| Parameter | Type | Description |
|---|---|---|
username |
string |
The leetcode user handle. |
WhatsApp.Video.2024-10-12.at.5.23.14.PM.mp4
https://drive.google.com/drive/u/0/folders/1GK6KvTlVy1hfwUGQ_sqa9LL4q6cnJVtj







