ossu-client icon indicating copy to clipboard operation
ossu-client copied to clipboard

API-change-proposal: pull progress from users' own "ossu-courses" git repo

Open crmackay opened this issue 9 years ago • 3 comments

This is a idea/proposal that I had that would address some of the problems around:

  1. keeping the curriculum up to date
  2. allowing people to customize their curriculum
  3. allowing people to update their progress charts to newer version of the curriculum

My idea is to require every user to create a github repo called "ossu-courses" (or something similar), and in that repo would be a file (markdown, or json?) that contains all of the courses they are planning to take, have taken, or are currently taking, along with the url to their project and other info. We would provide a template file with the most current curriculum, but then students are free to change it as they see fit (as long as they use the proper formatting), or update it to a new version when a new curriculum gets released.

In addition to creating this repo, users would need to register with the OSSU-client (similar to now). The client, though, would not store the students progress directly, but instead would pull that information from https://github.com/<username>/ossu-courses for each user.

So the client would store the usernames, and other user information (social network info etc), and a regularly updated copy of each student's progress (for search purposes), but the actual record for each student is maintained by the student under their github profile in a specific repo. And, these repos are regularly checked for updates by the client to pull in up-to-date information[1].

This would potentially address #47, #42, #44, #29, and open-source-society/computer-science#326 .

[1]: i would suggest something like: everytime a user logs into the client, and also somewhere between every few hours to once a day maybe?

crmackay avatar Jun 08 '16 22:06 crmackay