Code Monkey home page Code Monkey logo

codeforcesimporter's People

Contributors

ayushawasthi04 avatar dragonslayerx avatar meashish123 avatar vigneshjayavel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

codeforcesimporter's Issues

Some thoughts on persistence and sync..

hey @dragonslayerx
currently we use cfiignore to keep track of submissions that have been already fetched from the CF server.
I got an alternative approach which seems efficient (correct me if i'm wrong) and re-usable for generating visualizations easily!
We can store submissions in an sqlite file!
this sqlite file can act as the table from which we can query to generate the classification html and/or visualization html.
for classification data something like "select * from local_sqlite_table group by problem_type".
for visualization data (say date vs submission count) "select date as submission_date, count(*) as submission_count from local_sqlite_table group by date"

Advantages of this approach:

  • Easy to sync
  • efficient than writing to a file ourself (since sqlite takes care of this)
  • efficient for generating info for visualization (think of the ease of sql "group by" clause vs manipulating list of submissions ourself to generate it programmatically !!!) - sqlite is built for that and we can leverage it!
  • cleaner code when we need to generate lot of graphs in visualization (that goes without saying)

Approach for sync:
we can maintain something called 'last-sync-time' .
every time we sync, we can fetch all submissions whose date > last-sync-time

Not importing gym contest

gym contest cannot neither be classified nor their submissions can be imported. add feature to ignore the gym submissions.

Visualizations based on the submissions

For people who rely on codeforces to practice visualizing their submission data would be a great feature to have!
Visualizations can help in

  1. motivating the programmer
  2. identifying the areas of improvement
  3. identifying patterns of time during which he submits successful solutions
  4. 1000 more points can be added..

A picture is worth a thousand words..

Save file in accordance to programming language.

The API provides enough data so as to be able to save the solutions with proper extension rather than '.txt' files. The user can then run a file them directly rather that having to rename it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.