{"id":22369243,"url":"https://github.com/sandeep5521/binge","last_synced_at":"2026-04-13T03:01:41.310Z","repository":{"id":264412576,"uuid":"889717414","full_name":"Sandeep5521/Binge","owner":"Sandeep5521","description":"Explore the world of movies and TV shows with Binge, a React-GraphQL APP designed to provide seamless access to an extensive collection of entertainment data. Whether you're building a movie recommendation app, creating a TV show tracking platform, or enhancing your media-related project, Binge is your gateway to a treasure trove of information.","archived":false,"fork":false,"pushed_at":"2025-06-28T04:24:34.000Z","size":99815,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-28T05:26:02.025Z","etag":null,"topics":["expressjs","graphql","materialtailwindcss","mongodb","node","reactjs","swiper-js","tailwind-css"],"latest_commit_sha":null,"homepage":"https://bingeql.onrender.com","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/Sandeep5521.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,"zenodo":null}},"created_at":"2024-11-17T03:18:50.000Z","updated_at":"2025-06-28T04:24:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"061feeb2-a3a2-4127-9b2c-3dcb9f4da716","html_url":"https://github.com/Sandeep5521/Binge","commit_stats":null,"previous_names":["sandeep5521/binge"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Sandeep5521/Binge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sandeep5521%2FBinge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sandeep5521%2FBinge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sandeep5521%2FBinge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sandeep5521%2FBinge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sandeep5521","download_url":"https://codeload.github.com/Sandeep5521/Binge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sandeep5521%2FBinge/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262862898,"owners_count":23376410,"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":["expressjs","graphql","materialtailwindcss","mongodb","node","reactjs","swiper-js","tailwind-css"],"created_at":"2024-12-04T19:19:15.222Z","updated_at":"2026-04-13T03:01:41.252Z","avatar_url":"https://github.com/Sandeep5521.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# BingeQL Documentation\n\nBingeQL is a GraphQL API built using Node.js, Express, and MongoDB. It provides a robust backend for managing movies, shows, tags, and users. This API is used by **Binge**, a React web app deployed on Vercel. The API endpoint is hosted at **https://bingeql.onrender.com/graphql**. This document provides an overview of the API schema, queries, mutations, and sample usage.\n\n## Table of Contents\n- [Schema Overview](#schema-overview)\n- [Queries](#queries)\n  - [Movies Query](#movies-query)\n  - [Movie Query](#movie-query)\n  - [Shows Query](#shows-query)\n  - [Show Query](#show-query)\n  - [Tags Query](#tags-query)\n  - [Tag Query](#tag-query)\n- [Mutations](#mutations)\n  - [CreateMovie](#createmovie)\n  - [CreateShow](#createshow)\n  - [UpdateMovieThumbnail](#updatemoviethumbnail)\n  - [UpdateEpisode](#updateepisode)\n  - [DeleteMovie](#deletemovie)\n  - [UpdateMovieShots](#updatemovieshots)\n- [Authentication](#authentication)\n- [Sample Queries and Mutations](#sample-queries-and-mutations)\n\n## Schema Overview\n\n### Types\n#### Links\n```graphql\ntype Links {\n  quality: String\n  link: String\n}\n```\n#### Downloads\n```graphql\ntype Downloads {\n  english: [Links]\n  hindi: [Links]\n  subbed: [Links]\n}\n```\n#### Movie\n```graphql\ntype Movie {\n  _id: ID!\n  movieName: String!\n  movieDescription: String!\n  movieThumbnail: String!\n  releaseYear: Int!\n  movieDirectors: [String!]\n  movieTags: [String!]!\n  movieShots: [String!]\n  movieReview: String\n  movieDownloads: Downloads\n}\n```\n#### Show\n```graphql\ntype Show {\n  showName: String!\n  seasonNum: String!\n  showDescription: String!\n  showThumbnail: String!\n  showCreators: [String!]\n  showTags: [String!]\n  showShots: [String!]\n  showReview: String\n  showEpisodes: [Episode!]!\n}\n```\n#### Episode\n```graphql\ntype Episode {\n  downloads: Downloads\n  episodeId: String!\n  episodeName: String\n  episodeNum: String\n}\n```\n#### Tag\n```graphql\ntype Tag {\n  tagName: String!\n  tagDescription: String!\n  tagMovies: Int\n  tagShows: Int\n}\n```\n#### User\n```graphql\ntype User {\n  userName: String!\n  userEmail: String!\n  password: String!\n}\n```\n\n## Queries\n\n### Movies Query\nFetch movies based on filters like release year, tag, name, page, and limit.\n```graphql\nquery GetMovies($year: Int, $tag: String, $page: Int, $limit: Int, $name: String) {\n  Movies(year: $year, tag: $tag, page: $page, limit: $limit, name: $name) {\n    _id\n    movieName\n    movieDescription\n    releaseYear\n    movieTags\n  }\n}\n```\n\n### Movie Query\nFetch a specific movie by ID, name, or tag.\n```graphql\nquery GetMovie($id: ID, $name: String, $tag: String) {\n  Movie(id: $id, name: $name, tag: $tag) {\n    _id\n    movieName\n    movieDescription\n    movieThumbnail\n  }\n}\n```\n\n### Shows Query\nFetch shows with optional pagination and filtering by tag.\n```graphql\nquery GetShows($tag: String, $page: Int, $limit: Int) {\n  Shows(tag: $tag, page: $page, limit: $limit) {\n    showName\n    seasonNum\n    showDescription\n  }\n}\n```\n\n### Show Query\nFetch a specific show by ID or name.\n```graphql\nquery GetShow($id: ID, $name: String) {\n  Show(id: $id, name: $name) {\n    showName\n    showDescription\n    showEpisodes {\n      episodeName\n    }\n  }\n}\n```\n\n### Tags Query\nFetch all available tags.\n```graphql\nquery GetTags {\n  Tags {\n    tagName\n    tagDescription\n  }\n}\n```\n\n### Tag Query\nFetch details for a specific tag.\n```graphql\nquery GetTag($tag: String) {\n  Tag(tag: $tag) {\n    tagName\n    tagDescription\n  }\n}\n```\n\n## Mutations\n\n### CreateMovie\nAdd a new movie to the database.\n```graphql\nmutation CreateNewMovie($movie: IMovie) {\n  CreateMovie(movie: $movie) {\n    movieName\n    releaseYear\n  }\n}\n```\n\n### CreateShow\nAdd a new show to the database.\n```graphql\nmutation CreateNewShow($show: IShow) {\n  CreateShow(show: $show) {\n    showName\n    seasonNum\n  }\n}\n```\n\n### UpdateMovieThumbnail\nUpdate the thumbnail of a specific movie.\n```graphql\nmutation UpdateThumbnail($movieId: ID, $thumbnail: String) {\n  UpdateMovieThumbnail(movieId: $movieId, thumbnail: $thumbnail) {\n    movieThumbnail\n  }\n}\n```\n\n### UpdateEpisode\nAdd or update an episode for a show.\n```graphql\nmutation UpdateShowEpisode($showId: ID, $episode: IEpisode) {\n  UpdateEpisode(showId: $showId, episode: $episode) {\n    episodeName\n  }\n}\n```\n\n### DeleteMovie\nDelete a movie by its ID.\n```graphql\nmutation RemoveMovie($id: ID) {\n  DeleteMovie(id: $id) {\n    movieName\n  }\n}\n```\n\n### UpdateMovieShots\nUpdate screenshots for a movie.\n```graphql\nmutation UpdateShots($movieId: ID, $screenShots: String) {\n  UpdateMovieShots(movieId: $movieId, screenShots: $screenShots) {\n    movieShots\n  }\n}\n```\n\n## Authentication\nA valid token is required for most mutations. The token can be retrieved using the `Token` query and should be passed as a Bearer token in the `Authorization` header.\n\n## Sample Queries and Mutations\n### Fetch Movies by Tag\n```graphql\nquery {\n  Movies(tag: \"Action\", limit: 5, page: 1) {\n    movieName\n    releaseYear\n  }\n}\n```\n\n### Add a New Movie\n```graphql\nmutation {\n  CreateMovie(movie: {\n    movieName: \"Inception\",\n    releaseYear: 2010,\n    movieDescription: \"A mind-bending thriller.\",\n    movieTags: [\"Sci-Fi\", \"Thriller\"],\n    movieThumbnail: \"inception.jpg\"\n  }) {\n    movieName\n    releaseYear\n  }\n}\n```\n\n### Delete a Movie\n```graphql\nmutation {\n  DeleteMovie(id: \"63f12d8d8f1f2a0012345678\") {\n    movieName\n  }\n}\n```\n\nFor more details, explore the schema and experiment with queries and mutations using tools like GraphQL Playground or Postman.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandeep5521%2Fbinge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsandeep5521%2Fbinge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsandeep5521%2Fbinge/lists"}