For user-friendly introduction, please check out the web app's home page. This document is meant for developers.
For discussions please refer to the official forum topic.
The web app is hosted on 🔥 Firebase at https://scream-db.web.app/
It is automatically deployed on every push to the master branch.
Modern browsers enforce strict CORS policy. That means the web app cannot directly make requests to the Epic
Games GraphQL endpoint. Furthermore, the endpoint has a whitelist of valid User-Agent header values, which
unfortunately is not possible to set using browser's JavaScript. To overcome these issues I have deployed a simple CORS
proxy script on the Cloudflare Workers platform. It redirects all request to the actual GraphQL endpoint but modifies
the response header Access-Control-Allow-Origin with the domain of this web app.
The CORS proxy script itself is open-source and is available in the epic-cors-proxy repository.
- Node.js v22+
- pnpm v10
This web was developed and hosted using great technologies such as:
In the project directory, you can run the following commands:
| Command | Action |
|---|---|
pnpm dev |
Starts vite development server |
pnpm graphql:codegen |
Starts code generator for graphql queries |
pnpm build |
Builds the app for distribution |
pnpm preview |
Serves built app distribution on a preview server |
- UI Components: https://mui.com/material-ui/all-components/
- GraphQL: https://the-guild.dev/graphql/codegen/docs/guides/react-query
- Query: https://tanstack.com/query/latest/docs/framework/react/overview
- Routing: https://reactrouter.com/start/data/routing
This software is licensed under The Unlicense, terms of which are available in UNLICENSE.txt.