Welcome to the C-Cube Competitive Programming Leaderboard! This platform is designed to showcase the top-performing students from our college who are actively participating in competitive programming across platforms like Codeforces, LeetCode, and CodeChef.
- Leaderboard Display: Show a leaderboard with top students based on their ratings and achievements.
- Student Profiles: Provide detailed profiles for each student, including their competitive programming ratings, solved problems, and recent activity.
- Platform Integration: Fetch and display real-time data from Codeforces, LeetCode, CodeChef, and other competitive programming platforms.
- Performance Metrics: Display key metrics such as ratings, rankings, and problem-solving statistics.
- Search and Filter: Enable users to search and filter the leaderboard based on different criteria.
- Responsive Design: Ensure that the platform is accessible on various devices, including desktops, tablets, and mobiles.
- Real-Time Updates: Keep the leaderboard updated with the latest data from competitive programming platforms.
May change according to requirement
- Nextjs (Typescript preffered but porting can be done later)
- Tailwind with Shadcn Components
- Backend: Nextjs preffered but other can be used for now
- API: clist.by api for fetching profiles all at once (as some platforms do not provide api access)
- Framer-motion(Optional) - for animations
- Sqlite database for userinfo. (lite cz we don't need much)
- Project Setup: Initialize the repository and set up the basic project structure.
- UI/UX Design: Design the user interface and layout for the leaderboard and student profiles.
- Basic Features: Implement user registration, profile management, and basic leaderboard functionality.
- Platform Integration: Develop functionality to fetch and display real-time data from Codeforces, LeetCode, CodeChef, etc.
- Leaderboard Display: Create and display the leaderboard with sorted student rankings.
- Profile Details: Build detailed student profiles including ratings, rankings, and solved problems.
- Search and Filter: Add search and filtering options to customize the leaderboard view.
- Real-Time Updates: Implement real-time updates for the leaderboard based on new data.
- Performance Analytics: Provide detailed analytics and insights into student performance and trends.
- Testing and QA: Conduct comprehensive testing and quality assurance to ensure a smooth user experience.
- Deployment: Deploy the platform to a production environment.
- Feedback and Iteration: Collect user feedback and make improvements based on suggestions.
- Setup Repo: Clone and configure the repository. [Set with nextjs(ts), shadcn, framer-motion]
- Design UI: Create mockups for the leaderboard and profiles.
- Build APIs: Develop APIs for data retrieval.
- Frontend Dev: Implement the leaderboard UI.
- Integrate APIs: Connect UI with backend data.
- Fetch Data: Implement data fetching from CP platforms.
- Sort Leaderboard: Create sorting algorithms for rankings.
- Profile Details: Display student profiles with ratings.
- Real-Time Data: Implement live updates for leaderboard.
- Write Tests: Develop unit and integration tests.
- Deploy: Publish the platform online.[Deployed on cloudflare pages]
- Bug Fixes: Address and fix reported issues.
- Clone the Repository:
git clone https://github.com/C3GECA/GECA-CPStars.git
- Install Dependencies:
npm i
- Start Development Server
npm start
- Open the Application: Navigate to
http://localhost:3000
in your browser.
We welcome contributions from the community! To contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/your-feature
). - Create a new Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.