Skip to content
/ foam Public

WIP custom third-party Twitch app for IOS & Android

License

Notifications You must be signed in to change notification settings

luke-h1/foam

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

foam

Why?

To improve my React native skills and learn various other tech

The native Twitch app experience doesn't quite line up with the desktop experience and it lacks support for third-party extensions that many people use to express themselves in chat. This project aims to be a mobile alternative that supports these extensions and provides a cleaner and more intutive UI.

Store links

TBA

Features

TBA

Environments

TBA

Getting started

You will need the following in order to run the project locally:

Once you have the above installed, you can run the following commands to get started:

Install correct node and package manager versions

 nvm use
 nvm install
 corepack enable

If for whatever reason corepack enable doesn't work you can run the following script to install the right version of PNPM:

PNPM_VERSION=$(node -e "console.log(require('./package.json').engines.pnpm)")
curl -fsSL https://get.pnpm.io/install.sh | env PNPM_VERSION=$PNPM_VERSION sh -

Install dependencies

pnpm i

Acquire Twitch API credentials

  • Create a Twitch account if you do not have one already
  • Enable 2FA on your account otherwise you'll not be able to create apps via the dev console
  • Go to the Twitch developer console and create a new application. Your OAUTH redirect settings should look like the following:

Twitch app settings

  • Copy the client ID and client secret and paste them into a .env file in the root of the project. See .env.example for an example of what this file should look like

If you're on Linux or windows, you'll need to setup Android studio and install a device to run the app.

If you're on Mac you can just use the iOS simulator (via Xcode) to run the app

You'll need to start the proxy server before you start up the app to proxy authentication requests to Twitch. This is due to a new requirement where Twitch do not let you proxy non http URLs. You can do this by running pnpm run start:proxy in a separate terminal window. Locally this is just a simple Express server. In production, we'll most likely use a serverless function to get around this issue.

Start the app

pnpm start

Contributing

Commiting code

This project follows the Conventional Commits specification. Husky is used to execute scrips according to git hooks in order to test if a developer is following the various linting rules and conventional commits. Run yarn commit to start an interactive commit.

Bug reports

If you encounter a problem with this project, please open an issue. Be sure to include:

  • Node version
  • OS
  • Brief but thorough reproduction steps of the issue

Releases

No releases published

Packages

No packages published