This is the whole frontend for Game Jolt. It powers the site and the desktop app.
We wanted to make it open source so everyone can get visibility into what we are working on. Browse the code to see how Game Jolt is put together. Feel free to offer suggestions on how to do things better, as well as contributing your own code. I'll get a better guide on how to contribute soon.
- Install NodeJS v16+
- Install Yarn
- Run in terminal:
git submodule init
git submodule update
yarn
- Install git pre commit hooks:
- Windows (from administrator powershell):
.\git-hooks\install.ps1
- Mac / Linux:
./git-hooks/install.sh
- Windows (from administrator powershell):
- Add
127.0.0.1 development.gamejolt.com
to your/etc/hosts
(orC:\\Windows\\System32\\drivers\\etc\\hosts
on Windows) - Setup local development certificates.
- Windows:
- Run
scripts\certs\generate-cert.ps1
. - Open
gamejoltCA.crt
file it generated. - Press "Install certificate" button.
- For "Store Location" leave it as "Current User" and hit "Next".
- Choose "Place all certificates in the following store" and hit "Browse"
- Choose "Trusted Root Certification Authorities" and hit "Ok"
- Restart your browser for changes to take effect.
- Run
- Linux:
- Run
./scripts/certs/generate-cert.sh
- Add the cert to the local trust
- On Ubuntu/Debian:
sudo cp gamejoltCA.crt /usr/local/share/ca-certificates/gamejoltCA.crt sudo update-ca-certificates
- On RHEL/Centos/Fedora:
sudo cp gamejoltCA.crt /etc/pki/ca-trust/source/anchors/gamejoltCA.crt sudo update-ca-trust extract
- On Ubuntu/Debian:
- Run
- Mac: TODO
- Windows:
-
Website
Run
yarn dev
in the project directory.It'll set up a tiny server that hosts the website for you on your computer at https://development.gamejolt.com. Open that URL up in a web browser and you should have Game Jolt running!
- Mac users will also have to forward traffic from port 8443 to 443 to get around a security restriction (see note below)
-
Desktop app
Run
yarn client:dev
in the project directory.In another terminal run
yarn client
.- Mac users will also have to forward traffic from port 8443 to 443 to get around a security restriction (see note below)
Note: First time running these will take longer than usual.
For more commands see COMMANDS.md.
Translations are done by the community. If you want to participate, feel free to join at https://poeditor.com/join/project/B4nWT6EgnD.
Listening on port 443 (the default port for https) requires root privileges, but we want to keep root usage to a minimum.
For this reason, the webserver listens on port 8443 instead, and then in a separate rooted process we can forward traffic from port 443 to port 8443.
There are plenty of ways to do that, personally I like using socat:
- Install using
brew install socat
- Run the following while developing:
sudo socat tcp4-listen:443,bind=127.0.0.1,reuseaddr,fork tcp:127.0.0.1:8443