{"id":26491739,"url":"https://github.com/danielc92/movie-graphql-api","last_synced_at":"2026-04-10T07:07:03.053Z","repository":{"id":42771555,"uuid":"276350362","full_name":"danielc92/movie-graphql-api","owner":"danielc92","description":"A movie centric API built in Typescript, TypeORM, GraphQL, Express and Nodejs.","archived":false,"fork":false,"pushed_at":"2023-01-07T20:42:37.000Z","size":501,"stargazers_count":1,"open_issues_count":10,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-12T23:02:03.497Z","etag":null,"topics":["docker","expressjs","graphql","postgres","side-project","typeorm","typescript"],"latest_commit_sha":null,"homepage":"","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/danielc92.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}},"created_at":"2020-07-01T10:41:30.000Z","updated_at":"2023-06-23T14:14:38.000Z","dependencies_parsed_at":"2023-02-08T01:15:55.991Z","dependency_job_id":null,"html_url":"https://github.com/danielc92/movie-graphql-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielc92%2Fmovie-graphql-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielc92%2Fmovie-graphql-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielc92%2Fmovie-graphql-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielc92%2Fmovie-graphql-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielc92","download_url":"https://codeload.github.com/danielc92/movie-graphql-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244583173,"owners_count":20476233,"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":["docker","expressjs","graphql","postgres","side-project","typeorm","typescript"],"created_at":"2025-03-20T08:50:29.095Z","updated_at":"2026-04-10T07:07:03.010Z","avatar_url":"https://github.com/danielc92.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Movie Graphql API\n\nA movie centric API built in Typescript, TypeORM, GraphQL, Docker, Express and Nodejs.\n\n### Stack\n\n- Typescript\n- Express.js\n- Node.js\n- TypeORM\n- GraphQL spec\n- Docker\n- Postgres\n\n### GraphiQL\n\nGraphiQL is enabled and can accessed via `http://localhost:3040/graphql`\n\n### Available scripts\n\nRunning the project\n\n```\nnpm run dev\n```\n\nStarting the postgres database with docker\n\n```\nnpm run db-start\n```\n\nKill the db container and remove it\n\n```\nnpm run db-kill\n```\n\nRestart the db container\n\n```\nnpm run db-restart\n```\n\nEnter the postgres container via psql cli\n\n```\nnpm run db-console\n```\n\n### Query\n\n```\n[\n          {\n            \"name\": \"movies\",\n            \"description\": \"Returns a list of Movies.\"\n          },\n          {\n            \"name\": \"quotes\",\n            \"description\": \"Returns a list of Quotes.\"\n          },\n          {\n            \"name\": \"soundtracks\",\n            \"description\": \"Returns a list of Soundtracks.\"\n          },\n          {\n            \"name\": \"actors\",\n            \"description\": \"Returns a list of Actors.\"\n          },\n          {\n            \"name\": \"reviews\",\n            \"description\": \"Returns a list of Reviews.\"\n          },\n          {\n            \"name\": \"directors\",\n            \"description\": \"Returns a list of Directors.\"\n          },\n          {\n            \"name\": \"countries\",\n            \"description\": \"Returns a list of Countries.\"\n          },\n          {\n            \"name\": \"users\",\n            \"description\": \"Returns a list of Users.\"\n          },\n          {\n            \"name\": \"awards\",\n            \"description\": \"Returns a list of Awards.\"\n          }\n        ]\n```\n\n### Mutations\n\n```\n[\n          {\n            \"name\": \"createReview\",\n            \"description\": \"Create a single Review.\"\n          },\n          {\n            \"name\": \"createQuote\",\n            \"description\": \"Create a single Quote for a Movie\"\n          },\n          {\n            \"name\": \"createSoundtrack\",\n            \"description\": \"Create a single Soundtrack for a Movie\"\n          },\n          {\n            \"name\": \"createMovie\",\n            \"description\": \"Create a single Movie.\"\n          },\n          {\n            \"name\": \"updateMovie\",\n            \"description\": \"Update an existing Movie.\"\n          },\n          {\n            \"name\": \"createActor\",\n            \"description\": \"Create a single Actor.\"\n          },\n          {\n            \"name\": \"createDirector\",\n            \"description\": \"Create a single Director.\"\n          },\n          {\n            \"name\": \"createCountry\",\n            \"description\": \"Create a single Country.\"\n          },\n          {\n            \"name\": \"createUser\",\n            \"description\": \"Create a single User.\"\n          },\n          {\n            \"name\": \"updateUser\",\n            \"description\": \"Update an existing User\"\n          },\n          {\n            \"name\": \"addToWishList\",\n            \"description\": \"Add a Movie to User's movieWishList.\"\n          },\n          {\n            \"name\": \"addToWatchedList\",\n            \"description\": \"Add a Movie to User's movieWatchedList.\"\n          },\n          {\n            \"name\": \"linkMovieAward\",\n            \"description\": \"Associate an existing Award with an existing Movie\"\n          },\n          {\n            \"name\": \"linkMovieActor\",\n            \"description\": \"Associate an existing Actor with an existing Movie\"\n          },\n          {\n            \"name\": \"linkMovieDirector\",\n            \"description\": \"Associate an existing Director with an existing Movie\"\n          },\n          {\n            \"name\": \"createAward\",\n            \"description\": \"Create a single Award.\"\n          }\n        ]\n```\n\n### Configuration\n\nTypeORM configuration can be modified in `ormconfig.json` in root of project. Currently the project uses a docker/postgres setup for local development.\n\nFor making prod builds use the following settings;\n\n```\n  \"entities\": [\"build/entity/**/*.js\"],\n  \"migrations\": [\"build/migration/**/*.js\"],\n  \"subscribers\": [\"build/subscriber/**/*.js\"],\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielc92%2Fmovie-graphql-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielc92%2Fmovie-graphql-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielc92%2Fmovie-graphql-api/lists"}