Skip to content

Feat: Create (GitHub) profile schema to store public profile data #85

@nelsonic

Description

@nelsonic

In order to enable all other features of this mini-app, we need to comprehensively capture profile data.

Todo

  • Map all the fields from the GitHub "User" object into a profile schema in this repo.
    • Use String for all values except:
      • "public_repos": 2, "public_gists": 1, "followers": 20, "following": 0, "id": 1 appear to be Int and
      • "hireable": false, "site_admin": false look like boolean
      • use appropriate date/time for "created_at": "2008-01-14T04:33:35Z", "updated_at": "2008-01-14T04:33:35Z" so that we can query this data.
    • Create sample data to test CRUD.

https://docs.github.com/en/rest/users/users?apiVersion=2022-11-28#get-a-user

{
  "login": "octocat",
  "id": 1,
  "node_id": "MDQ6VXNlcjE=",
  "avatar_url": "https://github.com/images/error/octocat_happy.gif",
  "gravatar_id": "",
  "url": "https://api.github.com/users/octocat",
  "html_url": "https://github.com/octocat",
  "followers_url": "https://api.github.com/users/octocat/followers",
  "following_url": "https://api.github.com/users/octocat/following{/other_user}",
  "gists_url": "https://api.github.com/users/octocat/gists{/gist_id}",
  "starred_url": "https://api.github.com/users/octocat/starred{/owner}{/repo}",
  "subscriptions_url": "https://api.github.com/users/octocat/subscriptions",
  "organizations_url": "https://api.github.com/users/octocat/orgs",
  "repos_url": "https://api.github.com/users/octocat/repos",
  "events_url": "https://api.github.com/users/octocat/events{/privacy}",
  "received_events_url": "https://api.github.com/users/octocat/received_events",
  "type": "User",
  "site_admin": false,
  "name": "monalisa octocat",
  "company": "GitHub",
  "blog": "https://github.com/blog",
  "location": "San Francisco",
  "email": "octocat@github.com",
  "hireable": false,
  "bio": "There once was...",
  "twitter_username": "monatheoctocat",
  "public_repos": 2,
  "public_gists": 1,
  "followers": 20,
  "following": 0,
  "created_at": "2008-01-14T04:33:35Z",
  "updated_at": "2008-01-14T04:33:35Z"
}

Metadata

Metadata

Assignees

Labels

T1hTime Estimate 1 Hourchorea tedious but necessary task often paying technical debtdiscussShare your constructive thoughts on how to make progress with this issueelixirPull requests that update Elixir codeenhancementNew feature or enhancement of existing functionalitypriority-2Second highest priority, should be worked on as soon as the Priority-1 issues are finished

Type

No type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions