{"id":15199999,"url":"https://github.com/kyrylodevshyrokov/graphql-blog-api","last_synced_at":"2026-03-07T17:05:50.046Z","repository":{"id":245919267,"uuid":"819547691","full_name":"kyrylodevshyrokov/graphql-blog-api","owner":"kyrylodevshyrokov","description":"GraphQL blog API along with subscriptions.","archived":false,"fork":false,"pushed_at":"2024-06-28T11:32:48.000Z","size":90,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T11:43:26.304Z","etag":null,"topics":["babel","graphql","graphql-yoga"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"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/kyrylodevshyrokov.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,"publiccode":null,"codemeta":null}},"created_at":"2024-06-24T18:19:05.000Z","updated_at":"2024-06-28T11:32:52.000Z","dependencies_parsed_at":"2024-10-11T19:31:14.004Z","dependency_job_id":null,"html_url":"https://github.com/kyrylodevshyrokov/graphql-blog-api","commit_stats":{"total_commits":10,"total_committers":1,"mean_commits":10.0,"dds":0.0,"last_synced_commit":"9aabb698a2cd115de63e22fde4401cfdfa06137f"},"previous_names":["kyrylodevshyrokov/graphql-blog","kyrylodevshyrokov/graphql-blog-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kyrylodevshyrokov/graphql-blog-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyrylodevshyrokov%2Fgraphql-blog-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyrylodevshyrokov%2Fgraphql-blog-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyrylodevshyrokov%2Fgraphql-blog-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyrylodevshyrokov%2Fgraphql-blog-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kyrylodevshyrokov","download_url":"https://codeload.github.com/kyrylodevshyrokov/graphql-blog-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kyrylodevshyrokov%2Fgraphql-blog-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30222545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T17:00:40.062Z","status":"ssl_error","status_checked_at":"2026-03-07T17:00:39.026Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["babel","graphql","graphql-yoga"],"created_at":"2024-09-28T02:23:38.550Z","updated_at":"2026-03-07T17:05:50.030Z","avatar_url":"https://github.com/kyrylodevshyrokov.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GraphQL Blog API\n\n## About \n\nThis blog API allows you to manage posts and comments along with the ability to see changes to the latest ones in real time.\n\n## Features\n\n- Each user can carry out the full range of CRUD operations on posts and comments.\n- Each user can see changes in relation to posts and comments in real time thanks to subscriptions.\n\n## Technologies\n\n- GraphQL: an open-source data query and manipulation language for APIs and a query runtime engine.\n- GraphQL Yoga: the fully-featured GraphQL Server with focus on easy setup, performance and great developer experience.\n- Babel: a free and open-source JavaScript transcompiler that is mainly used to convert ECMAScript 2015+ code into backwards-compatible JavaScript code that can be run by older JavaScript engines.\n\n## Getting Started\n\n1. Clone the repository on your local machine.\n2. Run `npm install` command to upload all dependencies.\n3. Run `npm start` to start the server.\n4. Open browser and enter `http://localhost:4000` to start writing queries.\n\n## Queries\n\n### _Users_\n\nRetrieve information about users along with posts and comments that were created by each user. Each post contains informations about itself as well comments that are related to this post. Each comment contains information about itself as well the post under which this comment was created.\n\n```javascript\nusers {\n    id\n    name\n    email\n    age\n    posts {\n      id\n      title\n      body\n      published\n      comments {\n        id\n        text\n        author {\n          id\n          name\n          age\n        }\n      }\n    }\n    comments {\n      id\n      text\n      post {\n        id\n        title\n        body\n        published\n      }\n    }\n  }\n```\n\n### _Posts_\n\nRetrieve informations about all existing posts along with comments that were created under each post. Each post and comment has author field.\n\n```javascript\nposts {\n    id\n    title\n    body\n    published\n    author {\n      id\n      name\n      email\n      age\n    }\n    comments {\n      id\n      text\n      author {\n        id\n        name\n        email\n        age\n      }\n    }\n  }\n```\n\n### _Comments_\n\nRetrieve information about all existing comments along with posts under which this comments were created.\n\n```javascript\ncomments {\n    id\n    text\n    author {\n      id\n      name\n      email\n      age\n    }\n    post {\n      id\n      title\n      body\n      published\n    }\n  }\n```\n\n## Mutations\n\n### _createUser_\n\nCreates a new user.\n\n```javascript\ncreateUser(data: {\n    name: \"John Doe\"\n    email: \"john@gmail.com\"\n    age: 22\n  }) {\n    id\n    name\n    email\n    age\n  }\n```\n\n### _updateUser_\n\nUpdates the user.\n\n```javascript\nupdateUser(id: \"your_user_id\", data: {\n    name: \"John Doe 2\"\n    age: 40\n  }) {\n    id\n    name\n    email\n    age\n  }\n```\n\n### _deleteUser_\n\nDeletes the user.\n\n```javascript\ndeleteUser(id: \"your_user_id\") {\n    id\n    name\n    email\n    age\n  }\n```\n\n### _createPost_\n\nCreates new post.\n\n```javascript\ncreatePost(data: {\n    title: \"New post\"\n    body: \"THis is a new post\"\n    published: true\n    author: \"your_author_id\"\n  }) {\n    id\n    title\n    body\n    published\n    author {\n      id\n      name\n      email\n    }\n  }\n```\n\n### _updatePost_\n\nUpdates the post.\n\n```javascript\nupdatePost(id: \"your_post_id\" data: {\n    title: \"Updated post\"\n    body: \"This is the updated post\"\n    published: false\n  }) {\n    id\n    title\n    body\n    published\n  }\n```\n\n### _deletePost_\n\nDeletes the post.\n\n```javascript\n  deletePost(id: \"your_post_id\") {\n    id\n    title\n    body\n    published\n  }\n```\n\n### _createComment_\n\nCreates new comment.\n\n```javascript\ncreateComment(data: {\n    text: \"Nice post!\"\n    post: \"your_post_id\"\n    author: \"your_user_id\"\n  }) {\n    id\n    text\n    author {\n      id\n      name\n    }\n    post {\n      id\n      title\n    }\n  }\n```\n\n### _updateComment_\n\nUpdates the comment.\n\n```javascript\nupdateComment(id: \"your_comment_id\" data: {\n    text: \"Updated comment to post\"\n  }) {\n    id\n    text\n  }\n```\n\n### _deleteComment_\n\nDeletes the comment.\n\n```javascript\ndeleteComment(id: \"your_comment_id\") {\n    id\n    text\n  }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyrylodevshyrokov%2Fgraphql-blog-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkyrylodevshyrokov%2Fgraphql-blog-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkyrylodevshyrokov%2Fgraphql-blog-api/lists"}