Skip to content

Latest commit

 

History

History
40 lines (33 loc) · 2.39 KB

task.md

File metadata and controls

40 lines (33 loc) · 2.39 KB

Github-API

Story

We at KOSS have a lot of tasks associated with GitHub. While conducting Kharagpur Winter of Code, we require acessing data from a user's Github handle. It is inconvenient to ask the user all the data, that seems quite manual work, so using GitHub API to get the details is useful. All the people who do open source must have made an account in GitHub, so it becomes natural to access all the data from the GitHub. This is a useful task that we have to do, so we would like you to do the same for us.

Materials

  • Nothing as such

What you need to do

  • Use the GitHub API service to access all the metadata associated with a username, and access the following details -
    • Username
    • Name
    • Avatar URL
    • URL to the github handle
    • Email
    • Biodata
    • Followers following a given user
    • Users Following
  • A user can enter his / her repository name and get the following details
    • Private / Public repository
    • Forks Count
    • Stargazers count
    • Watchers count
    • Topics of the repository
    • License
  • You have to create a command line interface CLI which would accept the data from the user and accept the following option for displaying the meta-data for the above.
  • You need to document your approach in a .md file explaining your thought process and how / why you choose a certain tool while solving this problem.
  • A GitHub repository which contains your code along with a .md file containing your thought process would be the end product that we are expecting.

Tech-Stack

  • You can use any programming language and tools that are available, however make sure that you are ready to explain why you chose that and the pros / cons that you encountered while using that.

Learning from the task

While you must have some experience with programming while doing this task, we know beforehand that this task would be difficult for people who don't have much experience with back-end. So, you are encouraged to google the technical stuff that you have encountered out here, use technical blogs to understand and practically implement it. Note that, don't get lost in the theoretical sea, there are infinite topics in back-end which are impossible to know, so you should use the rule of thumb to judiciously use your time to maintain a balance of theoretical understanding and practical implementation. We are more curious about your thinking ability and practical utility than the final result.