Code Monkey home page Code Monkey logo

issue-tracker'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
    

issue-tracker's People

Contributors

hworld avatar indiegamehunt avatar niksudan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

issue-tracker's Issues

Only allow testers to view the site.

Only approved testers should be able to view the site.

  • Auth page should be accessible by anyone.
  • If not logged in and you try going to site, it should direct you to Auth page.
  • If logged in and you try going to site but aren't a tester, it should direct you to current site homepage.

Ads on game pages don't load in some times.

It seems to happen when you click into news from the overview page. I believe it's not destroying some of the the ads correctly so it can't load in more or something.

  • Need to make sure to switch out all ads (even the top header ad) when navigating between game pages (on route change).
  • We need to make sure not to switch the ads out when viewing stuff like screenshot lightbox and going through screenshots.

Game news should show notification tag on the listing page.

This is how the current site does it. It shows a pink tag to notify that it's a new article they haven't read yet and that they're subscribed to notifications for it.

Should put an [unread] tag next to each article in the news listing

Don't allow hidden games to be added to playlists.

We can decide to allow them, but it removes the ability to hide your game from the public, especially as people start sharing playlists around. I'd still like to give the developer the ability to make it a "link-only" game. If you're able to add hidden games into playlists, it'd remove this ability.

Notifications for followed games in library.

Currently it doesn't work like current site as we don't show notification tags for games in your Followed game library playlist.

  • Should show count of notifications for the games they're following.
  • Should flag which games have notifications.
  • Should put the games with notifications at the top of the followed games grid.

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.