Coder Social home page Coder Social logo

joltron-builds's Introduction

Game Jolt

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.

Requirements

  • 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
  • Add 127.0.0.1 development.gamejolt.com to your /etc/hosts (or C:\\Windows\\System32\\drivers\\etc\\hosts on Windows)
  • Setup local development certificates.
    • Windows:
      1. Run scripts\certs\generate-cert.ps1.
      2. Open gamejoltCA.crt file it generated.
      3. Press "Install certificate" button.
      4. For "Store Location" leave it as "Current User" and hit "Next".
      5. Choose "Place all certificates in the following store" and hit "Browse"
      6. Choose "Trusted Root Certification Authorities" and hit "Ok"
      7. Restart your browser for changes to take effect.
    • Linux:
      1. Run ./scripts/certs/generate-cert.sh
      2. 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
          
    • Mac: TODO

Running

  • 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

Translations are done by the community. If you want to participate, feel free to join at https://poeditor.com/join/project/B4nWT6EgnD.

Notes for Mac Users

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
    

joltron-builds's People

Contributors

ylivay avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.