2018-02-24 03:07:28 +01:00
|
|
|
# Spee.ch
|
|
|
|
Spee.ch is a web app that reads and publishes images and videos to and from the [LBRY](https://lbry.io/) blockchain.
|
2017-03-29 19:28:35 +02:00
|
|
|
|
2017-06-05 19:50:13 +02:00
|
|
|
## how to run this repository locally
|
2017-06-18 19:07:14 +02:00
|
|
|
* start mysql
|
|
|
|
* install mysql
|
|
|
|
* create a database called `lbry`
|
2017-09-13 02:59:55 +02:00
|
|
|
* save your connection `username` and `password` someplace handy
|
2017-08-19 00:12:43 +02:00
|
|
|
* start lbrynet daemon
|
2017-08-19 00:15:19 +02:00
|
|
|
* install the [`lbry`](https://github.com/lbryio/lbry) daemon
|
2017-08-19 00:12:43 +02:00
|
|
|
* start the `lbry` daemon
|
|
|
|
* start spee.ch-sync
|
2017-08-19 00:15:19 +02:00
|
|
|
* install and run this [`speech-sync`](https://github.com/billbitt/spee.ch-sync) tool
|
2017-08-19 00:12:43 +02:00
|
|
|
* start spee.ch
|
|
|
|
* clone this repo
|
|
|
|
* run `npm install`
|
2017-11-07 00:22:03 +01:00
|
|
|
* create your `speechConfig.js` file
|
2017-11-13 20:24:20 +01:00
|
|
|
* copy `speechConfig.js.example` and name it `speechConfig.js`
|
2018-02-23 20:26:04 +01:00
|
|
|
* replace the `null` values in the config file with the appropriate values for your environment
|
2018-02-24 03:07:28 +01:00
|
|
|
* build the app by running `npm run build-prod`
|
|
|
|
* to start the server, run `npm run start`
|
2017-06-05 19:50:13 +02:00
|
|
|
* visit [localhost:3000](http://localhost:3000)
|
2017-03-29 19:28:35 +02:00
|
|
|
|
2017-12-19 00:23:23 +01:00
|
|
|
## Tests
|
|
|
|
* Spee.ch uses `mocha` with `chai` for testing.
|
|
|
|
* To run all tests that do not require LBC, run `npm test -- --grep @usesLbc --invert`
|
|
|
|
* To run all tests, including those that require LBC (like publishing), simply run `npm test`
|
|
|
|
|
2017-06-27 00:16:46 +02:00
|
|
|
## API
|
|
|
|
|
|
|
|
#### GET
|
2018-02-07 06:55:04 +01:00
|
|
|
* /api/claim/resolve/:name/:claimId
|
|
|
|
* example: `curl https://spee.ch/api/claim/resolve/doitlive/xyz`
|
|
|
|
* /api/claim/list/:name
|
|
|
|
* example: `curl https://spee.ch/api/claim/list/doitlive`
|
|
|
|
* /api/claim/availability/:name (
|
2017-12-05 19:18:49 +01:00
|
|
|
* returns `true`/`false` for whether a name is available through spee.ch
|
2018-02-07 06:55:04 +01:00
|
|
|
* example: `curl https://spee.ch/api/claim/availability/doitlive`
|
|
|
|
* /api/channel/availability/:name (
|
2017-12-05 19:18:49 +01:00
|
|
|
* returns `true`/`false` for whether a channel is available through spee.ch
|
2018-02-07 06:55:04 +01:00
|
|
|
* example: `curl https://spee.ch/api/channel/availability/@CoolChannel`
|
2017-06-27 00:16:46 +02:00
|
|
|
|
|
|
|
#### POST
|
2018-02-07 06:55:04 +01:00
|
|
|
* /api/claim/publish
|
|
|
|
* example: `curl -X POST -F 'name=MyPictureName' -F 'file=@/path/to/myPicture.jpeg' https://spee.ch/api/claim/publish`
|
2017-10-06 00:37:20 +02:00
|
|
|
* Parameters:
|
2017-11-03 21:37:23 +01:00
|
|
|
* `name`
|
2017-12-05 19:18:49 +01:00
|
|
|
* `file` (must be type .mp4, .jpeg, .jpg, .gif, or .png)
|
2017-11-03 21:37:23 +01:00
|
|
|
* `nsfw` (optional)
|
|
|
|
* `license` (optional)
|
|
|
|
* `title` (optional)
|
|
|
|
* `description` (optional)
|
|
|
|
* `thumbnail` url to thumbnail image, for .mp4 uploads only (optional)
|
|
|
|
* `channelName`(optional)
|
|
|
|
* `channelPassword` (optional,; required if `channelName` is provided)
|
2017-06-27 00:16:46 +02:00
|
|
|
|
2017-06-12 02:32:31 +02:00
|
|
|
## bugs
|
2017-12-22 04:31:39 +01:00
|
|
|
If you find a bug or experience a problem, please report your issue here on github and find us in the lbry discord!
|