CodePulse is a Django-based web application that tracks and analyzes your Competitive Programming (CP) journey. It leverages the Codeforces API, Chart.js, and Google Gemini AI to provide users with performance tracking and personalized topic recommendations.
- User Accounts: Manage profiles and access personalized dashboards.
- Performance Tracking: Analyze Codeforces performance using data fetched via the Codeforces API.
- Recommendation System: Receive recommended CP topics and resources based on your performance.
- Visualization: Interactive charts using Chart.js for better data insights.
- Integrated AI: Google Gemini AI for topic recommendations.
- Backend: Django (Python)
- Database: SQLite3
- Frontend: HTML, CSS, Chart.js
- API Integration: Codeforces API, Google Gemini AI
- Other Tools:
requestsfor API calls
Follow these steps to set up and run CodePulse locally:
- Python (>=3.8)
- Virtual Environment (optional but recommended)
-
Clone the Repository
git clone https://github.com/nehal21-hash/CodePulse.git cd CodePulse -
Set Up Virtual Environment (optional)
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate
-
Install Dependencies
pip install -r requirements.txt
-
Apply Migrations
python manage.py makemigrations python manage.py migrate
-
Run the Development Server
python manage.py runserver
-
Access the Application Open your browser and navigate to http://127.0.0.1:8000.
- Create an account or log in with your existing credentials.
- Enter your Codeforces handle to track your performance.
- View personalized topic recommendations and improve your skills.
- Explore the visual charts to analyze your progress.
We welcome contributions from the community! Here's how you can contribute:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeatureName. - Commit your changes:
git commit -m 'Add some feature'. - Push to the branch:
git push origin feature/YourFeatureName. - Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
Happy coding and best of luck with your Competitive Programming journey!