diff --git a/LICENSE b/LICENSE index 1973ea2e..a0551165 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ 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 "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, diff --git a/README.md b/README.md index 3b21ab18..1fa3c380 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # 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 @@ -11,9 +11,9 @@ _note: this is the quickstart guide, for an in-depth step-by-step overview visit * [node](https://nodejs.org) * [MySQL](https://dev.mysql.com/doc/refman/8.0/en/installing.html) * [`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) - + #### Clone this repo ``` $ 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 ``` -#### view in browser - * visit [http://localhost:3000](http://localhost:3000) in your browser - -#### customize your app +#### View in browser + * Visit [http://localhost:3000](http://localhost:3000) in your browser -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 - * 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) + * 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) #### (optional) Syncing the full blockchain * 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) * `title` (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) * `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` -example: +example: ``` curl https://spee.ch/api/claim/availability/doitlive ``` @@ -121,12 +121,12 @@ response: ### 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) + * [express](https://www.npmjs.com/package/express) * [node](https://nodejs.org/) * [lbry](https://github.com/lbryio/lbry) * [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 * scss * handlebars - - + + ### Architecture * `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 - * `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 * `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/` * spee.ch also uses sagas which are in the `sagas/` folders and `channels/` * `client/scss/` contains the CSS for the project - * - + * + * `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 - * 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 * `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/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. * 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 * 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 - + ### Tests * This package uses `mocha` with `chai` for testing. * 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 * https://spee.ch/`@channel`:`channel_id`/`claim` * https://spee.ch/`@channel`:`channel_id`/`claim`.`ext` (serve) - + ### Bugs 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 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 #### level 3 diff --git a/customize.md b/customize.md index 7698372a..3291f830 100644 --- a/customize.md +++ b/customize.md @@ -1,15 +1,15 @@ # 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 -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. 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/ $ mkdir Logo $ cd Logo