@noirdoor/client
v0.6.1
Published
Chords music streaming web app
Downloads
60
Maintainers
Readme
@noirdoor/client
Chords music streaming web app
Lead Maintainer: Seth Holladay
Kanban Board | Release Notes | Roadmap
Contents
- Why?
- Install
- Development
- Usage
- API
- Testing
- Continuous delivery
- Browser support
- Related
- Team
- Contributing
- License
Why?
We aim to fix the music economy, by paying artists fairly and empowering fans to choose who gets their money. We want everyone to enjoy a happy, productive life creating and listening to music.
The Chords frontend app provides a beautiful experience for uploading and streaming music. It is the user interface for dev.chords.io, where all of the music lives, and where you can go to support your favorite artist.
Install
- Install the server
- Install the client
git clone [email protected]:noirdoor/client.git && cd client && npm install
- Build the client
npm run build
- Start the server and open
/app
in your browserchords --open=app
Note that the server uses a client version from npm in production and your local client during development. Changes to the server itself require restarting the server, however changes to the client only require rebuilding the client.
Development
To make development and debugging easier, we support the React DevTools extension (for Chrome and Firefox) and the Redux DevTools extension (for Chrome and Firefox).
File an issue if there are other tools you think we should use or support!
Usage
The client's programmatic API is designed to help the server locate the resources it needs to serve the app.
const client = require('@noirdoor/client');
console.log('Build path:', client.appPath);
API
client
Type: object
Constants to locate builds of the client, which the server uses to serve the client correctly.
appPath
Absolute path to the app's main entry point. Use path.join(appPath, '..')
to get its parent directory or path.basename(appPath)
to get its filename.
Testing
You should test the code frequently to catch mistakes early.
npm test
If necessary, you can instead run the individual commands (e.g. xo
to lint the code), in which case you should install the relevant tools globally.
We highly recommend integrating the linter in your code editor to help you while writing code.
Continuous delivery
All commits, including pull requests, are tested by Travis CI.
We don't yet have automatic deployment, but the app on dev.chords.io is updated within a few minutes of bumping the client dependency in the server.
See the latest CI results at: https://travis-ci.com/noirdoor/client
Browser support
We support recent versions of modern, auto-updating browsers on Windows 10 and macOS 10.13 or newer. Generally, the latest two browser versions are supported, except when major breaking changes are released, in which case it may take some time for us to support the new version.
IE | Edge | Chrome | Firefox | Safari | Opera ----|------|--------|---------|--------|------- X | X | √ | √ | TBD | X
Mobile and tablet support is not planned at this time. However, iPad support may be a low priority stretch goal for late 2018.
Related
- chords - Backend Node.js server
Team
These humans are the primary caretakers of @noirdoor/client
.
| ---|--- Seth Holladay | Ilias Aboubeker
Contributing
See our contributing guidelines for more details.
- Fork it.
- Make a feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request.
License
Copyright © 2017 Noirdoor. All rights reserved.