cpinitiative / usaco-guide

A free collection of curated, high-quality resources to take you from Bronze to Platinum and beyond.
https://usaco.guide
Other
1.6k stars 479 forks source link

Completion Dates for Modules / Problems #385

Closed bqi343 closed 3 years ago

bqi343 commented 3 years ago

Like USACO Training?

Screen Shot 2020-11-08 at 8 34 46 PM
bqi343 commented 3 years ago

a calendar of some sort to help us track our daily USACO practice ?

thecodingwizard commented 3 years ago

github contribution style maybe? or stopstalk-ish?

bqi343 commented 3 years ago

Can we take this off the backlog? Would definitely be useful for retaining users.

thecodingwizard commented 3 years ago

does this mean I actually have to think about how to implement it D:

thecodingwizard commented 3 years ago

@bqi343 what counts as an "activity" (the things that count towards the colored blocks)? Just completing modules / completing problems, or does "practicing" a module count as well?

bqi343 commented 3 years ago

Oops I didn't mean to self-assign.

Completing modules (read through it for the first time) / completing problems would make sense.

thecodingwizard commented 3 years ago

ok so:

Also, separately:

Does this work?

bqi343 commented 3 years ago

Sure. Why pageviews though? (Do you mean +1 if visited on a certain day?)

MrinallU commented 3 years ago

@thecodingwizard I'm kind of confused, how does this pertain to module dates?

thecodingwizard commented 3 years ago

idk, pageviews seems nice (and also rewards dumb people like me who can't always solve one problem a day D:)

also it's fairly easy to implement I think

thecodingwizard commented 3 years ago

@thecodingwizard I'm kind of confused, how does this pertain to module dates?

when designing dates we should also design it in a way that allows github contribution style visualization...

MrinallU commented 3 years ago

@thecodingwizard Ohh ok, your right it doesn't seem too hard to implement.

thecodingwizard commented 3 years ago

https://github.com/frappe/charts charts :heart:

MrinallU commented 3 years ago

Yo thats cool

MrinallU commented 3 years ago

@thecodingwizard Using the charts we can make a whole page for user stats

thecodingwizard commented 3 years ago

okay I have an idea for how to implement module / problem activity:

Assuming the user doesn't randomly toggle problem / module status too frequently, this should be okay...

MrinallU commented 3 years ago

@thecodingwizard And one would store the list in firebase?

thecodingwizard commented 3 years ago

yes

MrinallU commented 3 years ago

@thecodingwizard Makes sense, if you want me to do it and refer back to you for guidance or if you want to do it yourself I'm fine either way.

thecodingwizard commented 3 years ago

I'll just do it myself since it seems a bit complicated.

Also, I realized that a singular list of activities doesn't work very well with our current setup, so I'm thinking of just splitting it into two lists; one for problems, one for modules.

We should really figure out a good backend database soon oops

MrinallU commented 3 years ago

@thecodingwizard I have experience with MySQL so let me know if you need help to refactor to a SQL style database.

thecodingwizard commented 3 years ago

I'll close this for now since Dashboard -> Activity sort of does this. If someone has an idea for where else we should put module/progress completion, feel free to reopen