luke-h1 / foam

WIP custom third-party Twitch app for IOS & Android
BSD 3-Clause "New" or "Revised" License
3 stars 0 forks source link

foam

Foam is a Twitch mobile app that supports emotes, badges and user colors from 7TV, BetterTTV (BTTV), and FrankerFaceZ (FFZ) — third-party extensions for Twitch used by millions to aid in making the mobile chat experience more enjoyable.


This repository is managed as a monorepo with PNPM + PNPM workspaces

Why Foam?

The native twitch mobile app does not support emotes, badges and user colors from the above third-party extensions, resulting in only emote text names to be rendered rather than their actual image or GIF, resulting in a poor mobile chat experience.

Store links

TBA

Features

TBA

Environments

TBA

Applications

Tech stack

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 version

 nvm use
 nvm install

Install correct pnpm version

corepack enable

Install dependencies

pnpm i

Acquire Twitch API credentials

How to run the app

Note: You will need to have an Android emulator running in order to run the app locally. You will need to use the AVD (android virtual device) manager in Android Studio to create a virtual device if you do not have one already.

Note: You'll need to have Xcode installed in order to run the iOS app locally.

cd apps/mobile && npx expo 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:

High level design

TBA