Video game deal aggregation site.
Friendly website which provides those interested in gaming with notifications about the latest video games deals.
Commitments:
- We will never post affiliate links to the site
- We will never place ads on the site
- We will never accept money to feature a game on the site
FAQ
- Why?: For many years one of our friend's named Oliver (aka Olly G) has been sending us deals on games which he finds on the internet. We thought it was about time he have a nice official place to put these deals. So that everyone in the world can benefit from his kindness.
- So how are you making money?: We are not, this is and always will be purely a hobby site. Everyone involved has comfortable jobs which provide our living wages. We do not feel the need to make money off of this side project.
- I have a game deal I'd like to share, how can I?: Create an issue with the
game deal
tag. Please provide the game name, discounted price, image for the game, when the deal will expire, and a link to the location users can find the deal. Remember we do not accept affiliate links. A maintainer will review your deal as soon as possible. - I have an idea of how to improve the site, can I contribute?: Sure! We would love your help. See the Contributing documentation on how to get started.
This project was made possible by our contributors. Want to help out? See CONTRIBUTING.md
.
A Gatsby/React app with a Firebase backend.
Stuff we're using:
Make sure you have the latest versions of NodeJS and Yarn.
Install dependencies:
yarn install
Start the auto-reloading development server:
yarn website
Then navigate to localhost:8000.
To make the website use a locally emulated version of Firebase create a
Firebase service account and download the credentials JSON file, rename it
to firebase-service-account.json
.
yarn emulate-firebase
Finally run:
EMULATE_FIREBASE=true yarn website
Functions are located in ./functions/index.js
.
If you would like to run any of the package.json
scripts in this directory the
--ignore-engines
option must be passed due to the fact that the package.json
file defines the engines
key for the sake of Firebase.
Firestore indexes are defined in firestore.indexes.json
.
Firestore rules are defined in firestores.rules
.
Preview a production build:
yarn preview-prod-website
Then navigate to localhost:9000.
When ready to deploy (make sure to test the production build locally first!) push to master and GitHub actions will take care of the rest.
If you would like to deploy manually follow these instructions.
Website:
Run:
yarn deploy-website
Functions:
Run:
yarn deploy-functions
Firestore:
Run:
yarn deploy-firestore
GitHub actions is used to automatically deploy the master branch to GitHub Pages.
This uses GitHub Deploy Keys to authenticate the job runner. See the JamesIves/github-pages-deploy-action documentation for details about how this key is used.
To set it up generate an SSH key with no password:
ssh-keygen -t ed25519 -f ./deploy_key
Then copy the contents of the deploy-key.pub
file and add it as a deploy key
with write access for this repository.
Then copy the contents of the deploy-key
file and add a secret named
DEPLOY_KEY
to this repository.
Finally delete both the deploy-key
and deploy-key.pub
files.
The Firebase GitHub Action is used to deploy functions and firestore.
Get a Firebase continuous integration authentication token:
yarn firebase login:ci
Set this value as the FIREBASE_TOKEN
secret to the repository.