{"id":14976178,"url":"https://github.com/hsnice16/interview-experience-backend","last_synced_at":"2026-02-12T04:09:35.311Z","repository":{"id":200157625,"uuid":"704919212","full_name":"hsnice16/interview-experience-backend","owner":"hsnice16","description":"Backend for Interview Experience using Node.js, GraphQL, and PostgreSQL","archived":false,"fork":false,"pushed_at":"2024-09-03T05:18:08.000Z","size":65,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-01T07:31:53.128Z","etag":null,"topics":["apollo","apollo-server","graphql","graphql-server","node-postgres","nodejs","pg","postgresql","ts-node-dev","typescript"],"latest_commit_sha":null,"homepage":"https://interview-experience-backend.onrender.com/","language":"TypeScript","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/hsnice16.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"hsnice16"}},"created_at":"2023-10-14T14:02:15.000Z","updated_at":"2024-12-11T10:46:00.000Z","dependencies_parsed_at":"2023-10-22T11:30:20.274Z","dependency_job_id":"26ac631c-860d-459a-9587-e7b9075a59a6","html_url":"https://github.com/hsnice16/interview-experience-backend","commit_stats":{"total_commits":25,"total_committers":2,"mean_commits":12.5,"dds":0.24,"last_synced_commit":"3302b33284765725326efa7ecd9715f8bdd7cae8"},"previous_names":["hsnice16/interview-experience-backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsnice16%2Finterview-experience-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsnice16%2Finterview-experience-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsnice16%2Finterview-experience-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hsnice16%2Finterview-experience-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hsnice16","download_url":"https://codeload.github.com/hsnice16/interview-experience-backend/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238536115,"owners_count":19488660,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["apollo","apollo-server","graphql","graphql-server","node-postgres","nodejs","pg","postgresql","ts-node-dev","typescript"],"created_at":"2024-09-24T13:53:26.328Z","updated_at":"2025-10-27T18:30:41.810Z","avatar_url":"https://github.com/hsnice16.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg alt=\"interview experience logo\" src=\"IE.png\" width=\"150px\" height=\"150px\" /\u003e\n\n# ✨ Interview Experience Backend\n\nBackend for Interview Experience\n\n![Forks](https://img.shields.io/github/forks/hsnice16/interview-experience-backend)\n![Stars](https://img.shields.io/github/stars/hsnice16/interview-experience-backend)\n![GraphQL](https://img.shields.io/badge/graphql-f6009b?logo=graphql)\n![Node.JS](https://img.shields.io/badge/node.js-046e01?logo=node.js)\n![TypeScript](https://img.shields.io/badge/typescript-gray?logo=typescript)\n\n\u003c/div\u003e\n\n---\n\n## 👀 Query\n\n\u003cdetails open\u003e\n\u003csummary\u003e1. Get all the blogs.\u003c/summary\u003e\n\n```graphql\nquery Query {\n  blogs {\n    _id\n    author {\n      name\n      profile\n    }\n    forOrganization\n    link\n    title\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e2. Get all the blogs for an organization.\u003c/summary\u003e\n\n```graphql\nquery Query($filter: BlogFilter) {\n  blogs(filter: $filter) {\n    author {\n      name\n      profile\n    }\n    _id\n    forOrganization\n    link\n    title\n  }\n}\n\n{\n  \"filter\": {\n    \"forOrganization\": \"Google\"\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e3. Get paginated blogs.\u003c/summary\u003e\n\n```graphql\nquery Query($limit: Int!, $offset: Int!) {\n  blogs(limit: $limit, offset: $offset) {\n    author {\n      name\n      profile\n    }\n    _id\n    forOrganization\n    link\n    title\n  }\n}\n\n{\n  \"limit\": 4,\n  \"offset\": 2\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e4. Get all the organizations.\u003c/summary\u003e\n\n```graphql\nquery Query {\n  organizations {\n    _id\n    blogCount\n    name\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e5. Get paginated organizations.\u003c/summary\u003e\n\n```graphql\nquery Query($offset: Int!, $limit: Int!) {\n  organizations(offset: $offset, limit: $limit) {\n    _id\n    blogCount\n    name\n  }\n}\n\n{\n  \"limit\": 4,\n  \"offset\": 2\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e6. Get staging blogs.\u003c/summary\u003e\n\n```graphql\nquery Query($status: String!) {\n  stagingBlogs(status: $status) {\n    _id\n    author {\n      name\n      profile\n    }\n    forOrganization\n    status\n    link\n    title\n  }\n}\n\n{\n  \"status\": \"pending\"\n}\n```\n\n\u003c/details\u003e\n\n---\n\n## 🏗️ Mutation\n\n\u003cdetails open\u003e\n\u003csummary\u003e1. Create a new blog.\u003c/summary\u003e\n\n```graphql\nmutation Mutation(\n  $title: String!\n  $link: String!\n  $forOrganization: String!\n  $author: NewAuthor!\n) {\n  createBlog(\n    title: $title\n    link: $link\n    forOrganization: $forOrganization\n    author: $author\n  ) {\n    _id\n    status\n    author {\n      name\n      profile\n    }\n    forOrganization\n    link\n    title\n  }\n}\n\n{\n  \"title\": \"blog-title\",\n  \"link\": \"blog-link\",\n  \"forOrganization\": \"blog-forOrganization\",\n  \"author\": {\n    \"name\": \"author-name\",\n    \"profile\": \"author-profile\"\n  }\n}\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e2. Update the new blog status.\u003c/summary\u003e\n\n```graphql\nmutation Mutation($id: ID!, $status: String!) {\n  updateBlogStatus(_id: $id, status: $status) {\n    _id\n    author {\n      name\n      profile\n    }\n    forOrganization\n    link\n    status\n    title\n  }\n}\n\n{\n  \"id\": \"new_blog_000\",\n  \"status\": \"rejected\"\n}\n```\n\n\u003c/details\u003e\n\n---\n\n## 🔌 Getting Started\n\n1. Clone the repository on your local machine with the command below in your terminal, and cd into the **interview-experience-backend** folder.\n\n```shell\ngit clone https://github.com/hsnice16/interview-experience-backend.git\n\ncd interview-experience-backend\n```\n\n2. Install dependencies (if you are using **yarn** then do with that).\n\n```shell\nnpm install\n```\n\n3. Start the development server.\n\n```shell\nnpm run watch\n```\n","funding_links":["https://github.com/sponsors/hsnice16"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsnice16%2Finterview-experience-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhsnice16%2Finterview-experience-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsnice16%2Finterview-experience-backend/lists"}