updated readme
This commit is contained in:
parent
ae1578546e
commit
3741f0033d
1 changed files with 38 additions and 32 deletions
70
README.md
70
README.md
|
@ -1,5 +1,7 @@
|
|||
# Spee.ch
|
||||
This repo packages the spee.ch server for use with spee.ch implementations.
|
||||
Spee.ch is a web app that reads and publishes images and videos to and from the [LBRY](https://lbry.io/) blockchain. You are encouraged to contribute to the shared code base, or fork it and make it your own.
|
||||
|
||||
You can create your own custom version of spee.ch by installing this code base and then creating your own custom components and styles to override the defaults. (More details / guide on how to do that coming soon.)
|
||||
|
||||
## Quick start
|
||||
|
||||
|
@ -67,20 +69,6 @@ Start the `spee.ch-sync` tool available at [billbitt/spee.ch-sync](https://githu
|
|||
|
||||
This is not necessary, but highly reccomended. It will decode the blocks of the `LBRY` blockchain and add the claims information to your database's tables
|
||||
|
||||
## Development
|
||||
* the `server/` folder contains all of the server code
|
||||
* `index.js` is the entry point for the server. It creates the [express app](https://expressjs.com/), requires the routes, syncs the database, and starts the server listening on the `PORT` designated in the config file.
|
||||
* the `server/routes` folder contains all of the routes for the express app
|
||||
* the `server/models` folder contains all of the models which the app uses to interact with the `mysql` database. Note: this app uses the [sequelize](http://docs.sequelizejs.com/) ORM.
|
||||
* the `client/` folder contains all of the client code
|
||||
|
||||
## Tests
|
||||
* This package uses `mocha` with `chai` for testing.
|
||||
* Before running tests, create a `testingConfig.js` file in `devConfig/` by copying `testingConfig.example.js`
|
||||
* To run tests:
|
||||
* To run all tests, including those that require LBC (like publishing), simply run `npm test`
|
||||
* To run only tests that do not require LBC, run `npm run test:no-lbc`
|
||||
|
||||
## API
|
||||
* _(post)_ /api/claim/publish
|
||||
* example: `curl -F 'name=MyPictureName' -F 'file=@/path/to/myPicture.jpeg' https://spee.ch/api/claim/publish`
|
||||
|
@ -105,34 +93,49 @@ This is not necessary, but highly reccomended. It will decode the blocks of the
|
|||
* returns the name if it is available
|
||||
* example: `curl https://spee.ch/api/channel/availability/@CoolChannel`
|
||||
|
||||
## Bugs
|
||||
If you find a bug or experience a problem, please report your issue here on github and find us in the lbry discord!
|
||||
|
||||
## Contribute
|
||||
|
||||
### Below is a guide to the issue tags in this repo
|
||||
#### level 1
|
||||
Issues with spee.ch that anyone with basic web development can handle, little-to-no experience with the spee.ch codebase is required.
|
||||
|
||||
#### level 2
|
||||
Issues with spee.ch familiarity with the spee.ch codebase is required, but little-to-no familiarity with the lbry daemon is necessary
|
||||
|
||||
#### level 3
|
||||
Issues with spee.ch strong familiarity with the spee.ch code base and how the lbry daemon functions is required
|
||||
|
||||
#### level 4
|
||||
Issues with lbry (e.g. the spee.ch wallet, lbrynet configuration, etc.) that require strong familiarity with the lbry daemon and/or network to fix. Generally these issues are best suited for the lbry protocol team but are placed in this repo because of they are part of the spee.ch implementation
|
||||
|
||||
### Stack
|
||||
The spee.ch stack is MySQL, Express.js, Node.js, and React.js. Spee.ch also runs `lbrynet` on its server, and it uses the `lbrynet` api to make requests -- such as `publish`, `create_channel`, and `get` -- on the `LBRY` network.
|
||||
|
||||
Spee.ch also runs a sync tool, which decodes blocks from the `LBRY` blockchain as they are mined, and stores the information in mysql. It stores all claims in the `Claims` table, and all channel claims in the `Certificates` table.
|
||||
|
||||
* server
|
||||
* [mysql](https://www.mysql.com/)
|
||||
* [express](https://www.npmjs.com/package/express)
|
||||
* [node](https://nodejs.org/)
|
||||
* [lbry](https://github.com/lbryio/lbry)
|
||||
* [imagemagick](https://www.imagemagick.org/)
|
||||
* [ffmpeg](https://www.ffmpeg.org/)
|
||||
* client
|
||||
* [react](https://reactjs.org/)
|
||||
|
||||
|
||||
### Architecture
|
||||
* the `server/` folder contains all of the server code
|
||||
* `index.js` is the entry point for the server. It creates the [express app](https://expressjs.com/), requires the routes, syncs the database, and starts the server listening on the `PORT` designated in the config file.
|
||||
* the `server/routes` folder contains all of the routes for the express app
|
||||
* the `server/models` folder contains all of the models which the app uses to interact with the `mysql` database. Note: this app uses the [sequelize](http://docs.sequelizejs.com/) ORM.
|
||||
* the `client/` folder contains all of the client code
|
||||
|
||||
### Issue tags in this repo
|
||||
#### level 1
|
||||
Issues that anyone with basic web development can handle; little-to-no experience with the spee.ch codebase is required.
|
||||
|
||||
#### level 2
|
||||
Familiarity with web apps is required, but little-to-no familiarity with the lbry daemon is necessary
|
||||
|
||||
#### level 3
|
||||
Familiarity with the spee.ch code base and how the lbry daemon functions is required
|
||||
|
||||
#### level 4
|
||||
Issues with lbry (e.g. the spee.ch wallet, lbrynet configuration, etc.) that require strong familiarity with the lbry daemon and/or network to fix. Generally these issues are best suited for the `lbry` `protocol team` but are reported in this repo because of they are part of the spee.ch implementation
|
||||
|
||||
### Tests
|
||||
* This package uses `mocha` with `chai` for testing.
|
||||
* Before running tests, create a `testingConfig.js` file in `devConfig/` by copying `testingConfig.example.js`
|
||||
* To run tests:
|
||||
* To run all tests, including those that require LBC (like publishing), simply run `npm test`
|
||||
* To run only tests that do not require LBC, run `npm run test:no-lbc`
|
||||
|
||||
### URL formats
|
||||
Below is a list of all possible urls for the content on spee.ch
|
||||
|
@ -152,3 +155,6 @@ Below is a list of all possible urls for the content on spee.ch
|
|||
* a specific claim within a specific `LBRY` channel
|
||||
* spee.ch/@channel:channel_id/claim
|
||||
* spee.ch/@channel:channel_id/claim.ext
|
||||
|
||||
## Bugs
|
||||
If you find a bug or experience a problem, please report your issue here on github and find us in the lbry discord!
|
||||
|
|
Loading…
Reference in a new issue