Skip to content
This repository has been archived by the owner on Oct 4, 2023. It is now read-only.

AudiusProject/audius-client

Repository files navigation


audius-client

The Audius Client Monorepo
🎧🎸🎹🤘🎶🥁🎷🎻🎤🔊



CircleCI code style: prettier JavaScript Style Guide

Packages

Name Description
web The Audius web and desktop application
mobile The Audius mobile application
stems The Audius client component library
common Shared code between web and mobile
eslint-config-audius Shared lint configuration

Required Dependencies

The following dependencies are required to run the Audius client:

node python ruby

npm install will fail if they are not met. We recommend homebrew, pyenv, and rbenv. Don't forget to follow the instructions in the install command output (eg. adding things to your .zshrc or bashrc file).

brew install nvm pyenv rbenv

nvm install
pyenv install
rbenv install

Getting Started

After cloning run:

npm install

This will do the following:

  • Check you have the correct versions of node, ruby, and python
  • Install root dependencies
  • Install all package dependencies
  • Initialize git hooks (npx @escape.tech/mookme init --only-hook --skip-types-selection)
  • Install ios pods

Running A Client

Environments:

  • *:dev runs against local services
  • *:stage runs against the staging testnet
  • *:prod runs against production infrastructure
# web
npm run web:dev
npm run web:stage
npm run web:prod

# desktop
npm run desktop:dev
npm run desktop:stage
npm run desktop:prod

# mobile

# ios
npm run ios:dev
npm run ios:stage
npm run ios:prod
# on a physical device
xcrun xctrace list devices
npm run ios:<env> -- --device "My iPhone"

# android
npm run android:dev
npm run android:stage
npm run android:prod
# on a physical device
adb devices
npm run android:<env> -- --device "A38M608KHBK"

# stems in watch mode
npm run stems

# common in watch mode
npm run common

# lint and typecheck
npm run verify

Linking the audius sdk

To develop with the Audius sdk alongside the client, clone the audius-protocol repository and run the following:

cd audius-protocol
export PROTOCOL_DIR=$(pwd)
cd audius-client
npm run sdk:link
npm run web:stage # or similar