A browser extension that provides a problem of the day (POTD) functionality for Codeforces users, helping them maintain a consistent practice streak.
- Daily Problems: Get a new Codeforces problem every day based on your rating
- Streak Tracking: Build and maintain your daily solving streak
- Calendar View: Track your progress with a clean, interactive calendar
- Automatic Verification: Extension automatically verifies when you've solved the daily problem
- Profile Integration: Seamlessly integrates with your Codeforces profile
The extension will be available on the Chrome Web Store in the near future.
-
Clone the repository
git clone https://github.com/Ntropy86/Codeforces-Calendar.git cd Codeforces-Calendar -
Open Chrome Extensions page
- Navigate to chrome://extensions/ in your Chrome browser
- Enable "Developer mode" using the toggle in the top-right corner
-
Load the extension
- Click "Load unpacked"
- Select the root folder (folder named "extension") of the cloned repository (the folder containing manifest.json)
-
Verify installation
- The extension icon should appear in your browser toolbar
- Click on the icon to set up your Codeforces handle
-
Initial Setup
- Click the extension icon in your browser toolbar
- Enter your Codeforces handle and click "Go!"
- The extension will fetch your rating and set up personalized problems
-
Daily Problem
- Visit any Codeforces page to see your calendar in the sidebar
- Today's problem will be highlighted in the calendar
- Click on the day to open the problem
-
Building Your Streak
- Solve the daily problem on Codeforces
- The extension will automatically verify your submission
- Your streak count will update once verification is complete
-
View History
- Your solving history is displayed on the calendar
- Days with solved problems are marked with a checkmark
- Your current streak is displayed at the top of the calendar
If you want to run your own backend instance:
-
Clone the backend repository bash git clone https://github.com/Ntropy86/Codeforces-Calendar-Backend.git cd Codeforces-Calendar-Backend
-
Install dependencies bash npm install
-
Set up environment variables
-
Create a .env file with the following variables:
MONGO_URL=your_mongodb_connection_string API_PORT=4000
-
-
Run the backend bash node index.js
-
Update the extension to use your backend
- Edit config.js in the extension directory: javascript window.config.current = window.config.development; window.config.development.API_URL = 'http://localhost:4000';
Contributions are welcome! If you'd like to help improve the extension:
- Fork the repository
- Create a feature branch (git checkout -b feature/amazing-feature)
- Commit your changes (git commit -m 'Add some amazing feature')
- Push to the branch (git push origin feature/amazing-feature)
- Open a Pull Request
This project is licensed under the ISC License - see the LICENSE file for details.
- Codeforces for their amazing platform
- All beta testers who helped improve this extension