Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/saeris/tmdb-api
๐ฌ A Serverless GraphQL API built on top of TheMovieDB using Apollo Server
https://github.com/saeris/tmdb-api
api apollo-server aws-lambda graphql netlify-functions serverless the-movie-db typescript
Last synced: 20 days ago
JSON representation
๐ฌ A Serverless GraphQL API built on top of TheMovieDB using Apollo Server
- Host: GitHub
- URL: https://github.com/saeris/tmdb-api
- Owner: Saeris
- License: mit
- Created: 2018-08-05T08:11:42.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-05T19:45:09.000Z (almost 2 years ago)
- Last Synced: 2024-10-22T22:15:11.694Z (25 days ago)
- Topics: api, apollo-server, aws-lambda, graphql, netlify-functions, serverless, the-movie-db, typescript
- Language: TypeScript
- Homepage: https://tmdb-api.saeris.io
- Size: 63.6 MB
- Stars: 20
- Watchers: 2
- Forks: 6
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
๐ฌ TMDB API
A GraphQL API wrapper for The Movie DB built with Apollo Data Sources.
## ๐ ๏ธ Setup
Install dependencies by running `yarn`, then create a new file in the root directory named `.env`. You'll need to get an API key from The Movie DB in order to run any queries. For more information, please read the [Movie DB docs](https://developers.themoviedb.org/3/getting-started/introduction). Additionally, if you want to track usage metrics for your API, you'll need to get an API key from Apollo Graph Manager. For instructions on how to do that, please read the [Apollo Graph Manager docs](https://www.apollographql.com/docs/graph-manager/). In your new `.env` file, copy + paste the following and replace the text following the `=` sign with your newly create API keys.
```
MOVIE_DB_API_V3_KEY=
# OR
MOVIE_DB_API_V4_KEY=APOLLO_KEY=
```Once that's done, you can now start up a development server using `yarn start`. Once the development server is listening, you can pull up a GraphQL Playground by visiting one of the following URL:
Netlify: http://localhost:1337/.netlify/functions/tmdb-api
## ๐น๏ธ Demo
You can try out the API using the GraphQL Playground hosted at https://tmdb-api.saeris.io/.netlify/functions/tmdb-api
## ๐งช Testing
Testing is provided via `jest` and is pre-configured to run with `codecov` as well. While tests for this project are far from complete, they can be found under `src/__TEST__` and follow a naming format of `[filename].spec.ts`. Additionally, this project uses `eslint`, `typescript`, and `prettier`, all three of which are automatically run on each commit via `husky` + `lint-staged`. To manually lint and test, use the following commands:
Lint:
```bash
yarn lint
```Typecheck:
```bash
yarn typecheck
```Test and watch for changes:
```bash
yarn test:watch
```Lint + Typecheck + Test:
```bash
yarn test
```## ๐ฅ License
Released under the [MIT license](https://github.com/Saeris/tmdb-api/blob/master/LICENSE.md).