What does the project do?
It takes input from the user:
Rating Boundaries (min, max)
Some tags (Optional, if no tags selected, all tags will be included)
Number of problems (N)
Some codeforces handles (Optional, can be added one by one or comma separated)
All the above preferences can be saved/erased locally, so you can close your browser and come in any time and find your preferences ready for you
The app gives (N) codeforces rated problems (problems with not rating/tags are not included) their ratings are between min and max (inclusive), all of them do not have any tags out of the tags selected above:
if the user selected number theory
, math
, and dp
, then all these combinations are valid and can be seen in the outputted problems:
number theory
math
dp
dp
,math
dp
,number theory
math
,number theory
math
,number theory
,dp
but you will not see none of these:
binary search
,math
combinatorics
etc.
and the (N) problems the user will have must be unsolved with any of the handles entered.
What is special about this app?
While I was training, I used sites like this and some other sites, but they all have some common problems that inspired me to create this app, some of these problems are:
I know the rating of the problems I am gonna solve, which is not the case in live contests and local/regional/international contests.
I do not know the tags of the problems (it's not a problem actually, but the problem is that do not have control over the tags), I can choose some problem and try in it plenty of hours and I discover that it can't be solved without some specific topic that I do not know, or I haven't studied it before (in my case, it was
combinatorics
the most painful one :/ ).
My approach while creating this app was to make it usable and tried not to add much features that are not practical or no one will use (I tried to put myself in the shoes of the user)
Source Code: github
The project is live here
What I need from you?
I need your opinions, any bugs found, any feature suggestion you thought it would be nice to find while you were training, I am all ears :)
Anything will be very appreciated!
You may find colors awful so if anyone have good color palette would be appreciated also. (I am a backend dev, so this is somehow a weak area :/)