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.
TBA
TBA
TBA
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:
- 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
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.
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