commit
d975aae2cc
3 changed files with 33 additions and 33 deletions
2
LICENSE
2
LICENSE
|
@ -1,6 +1,6 @@
|
||||||
The MIT License (MIT)
|
The MIT License (MIT)
|
||||||
|
|
||||||
Copyright (c) 2017-2018 LBRY Inc
|
Copyright (c) 2017-2018 LBRY Inc.
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the
|
||||||
"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish,
|
"Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
|
56
README.md
56
README.md
|
@ -1,7 +1,7 @@
|
||||||
# Spee.ch
|
# Spee.ch
|
||||||
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.
|
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.)
|
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.)
|
||||||
|
|
||||||
## Quickstart
|
## Quickstart
|
||||||
|
|
||||||
|
@ -11,9 +11,9 @@ _note: this is the quickstart guide, for an in-depth step-by-step overview visit
|
||||||
* [node](https://nodejs.org)
|
* [node](https://nodejs.org)
|
||||||
* [MySQL](https://dev.mysql.com/doc/refman/8.0/en/installing.html)
|
* [MySQL](https://dev.mysql.com/doc/refman/8.0/en/installing.html)
|
||||||
* [`lbry`](https://github.com/lbryio/lbry) daemon
|
* [`lbry`](https://github.com/lbryio/lbry) daemon
|
||||||
* note: retrieve an address from the daemon and send your wallet a couple credits (or join us in the [#speech discord channel](https://discord.gg/YjYbwhS) and we will send you a few)
|
* note: retrieve an address from the daemon and send your wallet a few credits (or join us in the [#speech discord channel](https://discord.gg/YjYbwhS) and we will send you a few)
|
||||||
* [FFmpeg](https://www.ffmpeg.org/download.html)
|
* [FFmpeg](https://www.ffmpeg.org/download.html)
|
||||||
|
|
||||||
#### Clone this repo
|
#### Clone this repo
|
||||||
```
|
```
|
||||||
$ git clone https://github.com/lbryio/spee.ch.git
|
$ git clone https://github.com/lbryio/spee.ch.git
|
||||||
|
@ -41,17 +41,17 @@ _note: make sure lbry is running in the background before proceeding_
|
||||||
$ npm run start
|
$ npm run start
|
||||||
```
|
```
|
||||||
|
|
||||||
#### view in browser
|
#### View in browser
|
||||||
* visit [http://localhost:3000](http://localhost:3000) in your browser
|
* Visit [http://localhost:3000](http://localhost:3000) in your browser
|
||||||
|
|
||||||
#### customize your app
|
|
||||||
|
|
||||||
check out the [customization guide](https://github.com/lbryio/spee.ch/blob/readme-update/customize.md) to change your app's appearance and components
|
#### Customize your app
|
||||||
|
|
||||||
|
Check out the [customization guide](https://github.com/lbryio/spee.ch/blob/readme-update/customize.md) to change your app's appearance and components
|
||||||
|
|
||||||
#### (optional) add custom components and update the styles
|
#### (optional) add custom components and update the styles
|
||||||
|
|
||||||
* create custom components by creating React components in `src/views/` (further instructions coming soon)
|
* Create custom components by creating React components in `src/views/` (further instructions coming soon)
|
||||||
* update the CSS by changing the files in `public/assets/css/` (further instructions and refactor coming soon)
|
* Update the CSS by changing the files in `public/assets/css/` (further instructions and refactor coming soon)
|
||||||
|
|
||||||
#### (optional) Syncing the full blockchain
|
#### (optional) Syncing the full blockchain
|
||||||
* Start the `spee.ch-sync` tool available at [billbitt/spee.ch-sync](https://github.com/billbitt/spee.ch-sync)
|
* Start the `spee.ch-sync` tool available at [billbitt/spee.ch-sync](https://github.com/billbitt/spee.ch-sync)
|
||||||
|
@ -74,7 +74,7 @@ Parameters:
|
||||||
* `license` (optional)
|
* `license` (optional)
|
||||||
* `title` (optional)
|
* `title` (optional)
|
||||||
* `description` (optional)
|
* `description` (optional)
|
||||||
* `thumbnail` url to thumbnail image, for .mp4 uploads only (optional)
|
* `thumbnail` URL to thumbnail image, for .mp4 uploads only (optional)
|
||||||
* `channelName` channel to publish too (optional)
|
* `channelName` channel to publish too (optional)
|
||||||
* `channelPassword` password for channel to publish too (optional, but required if `channelName` is provided)
|
* `channelPassword` password for channel to publish too (optional, but required if `channelName` is provided)
|
||||||
|
|
||||||
|
@ -100,11 +100,11 @@ response:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
#### /api/claim/availability/:name
|
#### /api/claim/availability/:name
|
||||||
method: `GET`
|
method: `GET`
|
||||||
|
|
||||||
example:
|
example:
|
||||||
```
|
```
|
||||||
curl https://spee.ch/api/claim/availability/doitlive
|
curl https://spee.ch/api/claim/availability/doitlive
|
||||||
```
|
```
|
||||||
|
@ -121,12 +121,12 @@ response:
|
||||||
|
|
||||||
### Stack
|
### 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.
|
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.
|
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
|
* server
|
||||||
* [MySQL](https://www.mysql.com/)
|
* [MySQL](https://www.mysql.com/)
|
||||||
* [express](https://www.npmjs.com/package/express)
|
* [express](https://www.npmjs.com/package/express)
|
||||||
* [node](https://nodejs.org/)
|
* [node](https://nodejs.org/)
|
||||||
* [lbry](https://github.com/lbryio/lbry)
|
* [lbry](https://github.com/lbryio/lbry)
|
||||||
* [FFmpeg](https://www.ffmpeg.org/)
|
* [FFmpeg](https://www.ffmpeg.org/)
|
||||||
|
@ -136,12 +136,12 @@ Spee.ch also runs a sync tool, which decodes blocks from the `LBRY` blockchain a
|
||||||
* sagas
|
* sagas
|
||||||
* scss
|
* scss
|
||||||
* handlebars
|
* handlebars
|
||||||
|
|
||||||
|
|
||||||
### Architecture
|
### Architecture
|
||||||
* `cli/` contains the code for the CLI tool. Running the tool will create `.json` config files and place them in the `config/` folder
|
* `cli/` contains the code for the CLI tool. Running the tool will create `.json` config files and place them in the `config/` folder
|
||||||
* `configure.js` is the entry point for the CLI tool
|
* `configure.js` is the entry point for the CLI tool
|
||||||
* `cli/defaults/` holds default config files
|
* `cli/defaults/` holds default config files
|
||||||
* `cli/questions/` holds the questions that the CLI tool asks to build the config files
|
* `cli/questions/` holds the questions that the CLI tool asks to build the config files
|
||||||
|
|
||||||
* `client/` contains all of the client code
|
* `client/` contains all of the client code
|
||||||
|
@ -153,23 +153,23 @@ Spee.ch also runs a sync tool, which decodes blocks from the `LBRY` blockchain a
|
||||||
* The React components are broken up into `containers/` (components that pull props directly from the Redux store), `components/` ('dumb' components), and `pages/`
|
* The React components are broken up into `containers/` (components that pull props directly from the Redux store), `components/` ('dumb' components), and `pages/`
|
||||||
* spee.ch also uses sagas which are in the `sagas/` folders and `channels/`
|
* spee.ch also uses sagas which are in the `sagas/` folders and `channels/`
|
||||||
* `client/scss/` contains the CSS for the project
|
* `client/scss/` contains the CSS for the project
|
||||||
*
|
*
|
||||||
|
|
||||||
* `client_custom` is a folder which can be used to override the default components in `client/`
|
* `client_custom` is a folder which can be used to override the default components in `client/`
|
||||||
* The folder structure mimics that of the `client/` folder
|
* The folder structure mimics that of the `client/` folder
|
||||||
* to customize spee.ch, place your own components and scss in the `client_custom/src/` and `client_custom/scss` folders.
|
* to customize spee.ch, place your own components and scss in the `client_custom/src/` and `client_custom/scss` folders.
|
||||||
|
|
||||||
* `server/` contains all of the server code
|
* `server/` 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 files.
|
* `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 files.
|
||||||
* `server/routes/` contains all of the routes for the express app
|
* `server/routes/` contains all of the routes for the express app
|
||||||
* `server/controllers/` contains all of the controllers for all of the routes
|
* `server/controllers/` contains all of the controllers for all of the routes
|
||||||
* `server/models/` contains all of the models which the app uses to interact with the `MySQL` database.
|
* `server/models/` contains all of the models which the app uses to interact with the `MySQL` database.
|
||||||
* Spee.ch uses the [sequelize](http://docs.sequelizejs.com/) ORM for communicating with the database.
|
* Spee.ch uses the [sequelize](http://docs.sequelizejs.com/) ORM for communicating with the database.
|
||||||
|
|
||||||
* `tests/` holds the end-to-end tests for this project
|
* `tests/` holds the end-to-end tests for this project
|
||||||
* Spee.ch uses `mocha` with the `chai` assertion library
|
* Spee.ch uses `mocha` with the `chai` assertion library
|
||||||
* unit tests are located inside the project in-line with the files being tested and are designated with a `xxxx.test.js` file name
|
* unit tests are located inside the project in-line with the files being tested and are designated with a `xxxx.test.js` file name
|
||||||
|
|
||||||
### Tests
|
### Tests
|
||||||
* This package uses `mocha` with `chai` for testing.
|
* This package uses `mocha` with `chai` for testing.
|
||||||
* Before running tests, create a `testingConfig.js` file in `devConfig/` by copying `testingConfig.example.js`
|
* Before running tests, create a `testingConfig.js` file in `devConfig/` by copying `testingConfig.example.js`
|
||||||
|
@ -195,7 +195,7 @@ Spee.ch has a few types of URL formats that return different assets from the LBR
|
||||||
* retrieve a specific claim within a specific `LBRY` channel
|
* retrieve a specific claim within a specific `LBRY` channel
|
||||||
* https://spee.ch/`@channel`:`channel_id`/`claim`
|
* https://spee.ch/`@channel`:`channel_id`/`claim`
|
||||||
* https://spee.ch/`@channel`:`channel_id`/`claim`.`ext` (serve)
|
* https://spee.ch/`@channel`:`channel_id`/`claim`.`ext` (serve)
|
||||||
|
|
||||||
### Bugs
|
### Bugs
|
||||||
If you find a bug or experience a problem, please report your issue here on GitHub and find us in the lbry discord!
|
If you find a bug or experience a problem, please report your issue here on GitHub and find us in the lbry discord!
|
||||||
|
|
||||||
|
@ -203,7 +203,7 @@ If you find a bug or experience a problem, please report your issue here on GitH
|
||||||
#### level 1
|
#### level 1
|
||||||
Issues that anyone with basic web development can handle; little-to-no experience with the spee.ch codebase is required.
|
Issues that anyone with basic web development can handle; little-to-no experience with the spee.ch codebase is required.
|
||||||
|
|
||||||
#### level 2
|
#### level 2
|
||||||
Familiarity with web apps is required, but little-to-no familiarity with the lbry daemon is necessary
|
Familiarity with web apps is required, but little-to-no familiarity with the lbry daemon is necessary
|
||||||
|
|
||||||
#### level 3
|
#### level 3
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
# Configure your own spee.ch
|
# Configure your own spee.ch
|
||||||
|
|
||||||
_note:this guide assumes you have done the []quickstart](https://github.com/lbryio/spee.ch/blob/readme-update/README.md) or [fullstart](https://github.com/lbryio/spee.ch/blob/readme-update/fullstart.md) guide and have a working spee.ch server_
|
_note: this guide assumes you have done the []quickstart](https://github.com/lbryio/spee.ch/blob/readme-update/README.md) or [fullstart](https://github.com/lbryio/spee.ch/blob/readme-update/fullstart.md) guide and have a working spee.ch server_
|
||||||
|
|
||||||
## Custom Components
|
## Custom Components
|
||||||
The components used by spee.ch are taken from the `client/` folder, but you can override those components by defining your own in the `client_custom/` folder.
|
The components used by spee.ch are taken from the `client/` folder, but you can override those components by defining your own in the `client_custom/` folder.
|
||||||
|
|
||||||
### Add a new custom Logo component.
|
### Add a new custom Logo component.
|
||||||
|
|
||||||
To create your own custom component to override the defaults, create a folder and an `index.jsx` file for the component in the `client_custom/src/components/` folder.
|
To create your own custom component to override the defaults, create a folder and an `index.jsx` file for the component in the `client_custom/src/components/` folder.
|
||||||
|
|
||||||
```
|
```
|
||||||
$ cd client_custom/src/components/
|
$ cd client_custom/src/components/
|
||||||
$ mkdir Logo
|
$ mkdir Logo
|
||||||
$ cd Logo
|
$ cd Logo
|
||||||
|
|
Loading…
Reference in a new issue