# graphql-knowledge-search

**Please familiarize yourself with [GraphQL at The Orchard](https://github.com/theorchard/docs/tree/master/graphql) before contributing!**

## Running

1. Make sure you have `node` (version 22 or greater) and `yarn` installed
2. Install dependencies: `yarn install`
3. Copy the `.env.shadow` file to `.env` and fill in your information
4. Run the server: `yarn start`
5. Open your browser at [http://localhost:8080/graphql](http://localhost:8080/graphql)

### Running with local redis

1. Edit `.env`. Change `CACHE_REDIS_HOST='redis://127.0.0.1:6379'` and `CACHE_USE_REDIS=true`
2. Start redis using docker-compose: `make up`
3. Run the server: `yarn start`
4. View redis logs: `make logs`

## Federation

New schema Types should avoid name clashes with existing schema Types in other federated services.

For example, if a `SoundRecording` Type were added to the schema,
it would conflict with `SoundRecording` in graphql-product

Check any new Types do not share names with those defined in:

    graphql-product
    graphql-participant
    graphql-user
    graphql-podcast
    graphql-knowledge
