{"id":23248529,"url":"https://github.com/raulpe7eira/twix","last_synced_at":"2026-05-18T09:33:27.395Z","repository":{"id":217400199,"uuid":"743775396","full_name":"raulpe7eira/twix","owner":"raulpe7eira","description":"Crie APIs GraphQL com Elixir e Absinthe Course by Rafael Camarda","archived":false,"fork":false,"pushed_at":"2024-02-18T23:25:24.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-03T03:42:17.559Z","etag":null,"topics":["absinthe","api","course","elixir","graphql","learn","phoenix","udemy"],"latest_commit_sha":null,"homepage":"","language":"Elixir","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/raulpe7eira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-16T00:49:09.000Z","updated_at":"2024-11-21T12:57:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"0be7d3e6-ddeb-484f-a5c3-a8b0552eddcb","html_url":"https://github.com/raulpe7eira/twix","commit_stats":null,"previous_names":["raulpe7eira/twix"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/raulpe7eira/twix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpe7eira%2Ftwix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpe7eira%2Ftwix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpe7eira%2Ftwix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpe7eira%2Ftwix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/raulpe7eira","download_url":"https://codeload.github.com/raulpe7eira/twix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/raulpe7eira%2Ftwix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33172601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-18T09:27:30.708Z","status":"ssl_error","status_checked_at":"2026-05-18T09:27:28.300Z","response_time":71,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["absinthe","api","course","elixir","graphql","learn","phoenix","udemy"],"created_at":"2024-12-19T08:14:18.270Z","updated_at":"2026-05-18T09:33:27.379Z","avatar_url":"https://github.com/raulpe7eira.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twix\n\nThis code corresponds to the [Crie APIs GraphQL com Elixir e Absinthe Course](https://www.udemy.com/course/elixir-graphql) lab by [Rafael Camarda](https://cursos.rafaelcamarda.com/).\n\n\u003e The project simulates a twitter, where it's possible to register a user, add follower, send posts, and like posts.\n\n## Compilation, tests and runs\n\n```bash\n$ cd twix\n$ asdf install\n$ mix compile\n$ mix ecto.setup\n$ mix test\n$ iex -S mix phx.server\n```\n\n## How to use?\n\n```bash\n# provide resources graphql\ncurl -X POST 'http://localhost:4000/api/graphql'\n\n# provide resources graphql w/ web development interface\ncurl -X POST 'http://localhost:4000/api/graphiql'\n\n# retrieve all users (\n#   rest endpoint consuming graphql\n# )\ncurl -X GET 'http://localhost:4000/api/users'\n```\n\n### Resources GraphQL\n\n```bash\n# retrieve user (\n#   the posts is paginated\n# )\nquery{\n  user(id: 1) {\n    nickname\n    email\n    age\n    followers{\n      follower{\n        nickname\n      }\n    }\n    followings{\n      following{\n        nickname\n      }\n    }\n    posts(page: 1, perPage: 1){\n      id\n      text\n      likes\n    }\n  }\n}\n\n# retrieve all users\nquery{\n  users{\n    id\n    nickname\n    email\n    age\n  }\n}\n\n# create user\nmutation{\n  createUser(input: {nickname: \"Raul\", email: \"raul@mail.com\", age: 42}){\n    id\n    nickname\n    email\n    age\n  }\n}\n\n# update user\nmutation{\n  updateUser(input: {id: 1, age: 43}){\n    id\n    nickname\n    email\n    age\n  }\n}\n\n# add follower\nmutation{\n  addFollower(input: {userId: 1, followerId: 2}){\n    followerId\n    followingId\n  }\n}\n\n# -----------------------------------------------------------------------------\n\n# create post\nmutation{\n  createPost(input: {userId: 1, text: \"Olá mundo\"}){\n    id\n    text\n    likes\n  }\n}\n\n# like a post\nmutation{\n  addLikeToPost(id: 1){\n    id\n    text\n    likes\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraulpe7eira%2Ftwix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fraulpe7eira%2Ftwix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fraulpe7eira%2Ftwix/lists"}