Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dtube/dtube
:tv: d.tube app. A full-featured video sharing website, decentralized.
https://github.com/dtube/dtube
blockchain decentralized ipfs meteor steem video
Last synced: 23 days ago
JSON representation
:tv: d.tube app. A full-featured video sharing website, decentralized.
- Host: GitHub
- URL: https://github.com/dtube/dtube
- Owner: dtube
- License: gpl-3.0
- Created: 2018-05-12T18:55:15.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-06T13:53:35.000Z (6 months ago)
- Last Synced: 2024-10-06T04:34:12.933Z (about 1 month ago)
- Topics: blockchain, decentralized, ipfs, meteor, steem, video
- Language: JavaScript
- Homepage: https://d.tube
- Size: 164 MB
- Stars: 806
- Watchers: 51
- Forks: 191
- Open Issues: 132
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- best-of-crypto - GitHub - 41% open · ⏱️ 30.06.2023): (Others)
README
[![Crowdin](https://d322cqt584bo4o.cloudfront.net/dtube/localized.svg)](https://crowdin.com/project/dtube)
[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
[![DTube channel on Discord](https://img.shields.io/discord/347020217966395393.svg?logo=discord)](https://discord.gg/dtube)
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](http://makeapullrequest.com)# DTube App
This is the main javascript application you can use on d.tube. This is probably the starting point for anyone wanting to contribute to d.tube.
## Preview
![DTube Homepage Preview](https://i.imgur.com/G6knxMI.png)
## Install
### Install Meteor
* Linux and Mac: `curl https://install.meteor.com/ | sh`
* Windows: [link](https://www.meteor.com/install)### Install the app
Clone this repository and `meteor npm install` in it. This will install all dependencies coming from npm including the ones required for development.
### Start the app
Finally, do `meteor` in the folder to start the app in development mode.
##### Options:
* `-p 3456` for running on a different port than the default 3000.
* `--production` will minify and merge the javascript and css files.Meteor will automatically push any change on the code to the browser while you keep the meteor dev server running.
## Going in-depth
### Running blockchain locally
You can run a blockchain locally on your PC to avoid sending transactions onto the live network. Follow instructions in [dtube/avalon](https://github.com/dtube/avalon), then just change API to 'localhost:3001' in the settings page to point your UI to your development chain.### Working with Uploads
For doing anything on the upload side, it is strongly recommended to run your own [dtube/ipfs-uploader](https://github.com/dtube/ipfs-uploader). Once running, simply turn the `localhost` setting to `true` in `client/settings.js` and it will upload locally instead of our production servers.
### Working on the Player
As you can see, we use the embed directly available on emb.d.tube. This is the [dtube/embed](https://github.com/dtube/embed) repository. Feel free to clone it and directly point the `client/views/commons/videos/player.js` to your file:// version of the player if you want to make changes that include the player.
### Working with pre-rendering for bots
The [dtube/minidtube](https://github.com/dtube/minidtube) repository is responsible for all the pre-rendering and serving a decent version of d.tube to bots which normally wouldn't be able to.
## Structure
- `.meteor` meteor files, don't touch unless you know what you are doing.
- `.vscode` if you use visual studio code.
- `public` all the static files like pictures, fonts and translations.
- `client` all the app code
- - `client/collections` minimongo collections that templates feed from
- - `client/css` css files.
- - `client/lib` semantic ui related code.
- - `client/views` templates, each has 2 files, html and js, a handlebar template and associated logic.
- - - `client/views/commons` all the re-used templates
- - - `client/views/pages` all the templates matching a route in `router.js`
- - - `client/views/topbar` the fixed menu on top of the app
- - - `client/views/sidebar` the sidebar menu
## Common IssuesIf you are using windows, the `meteor npm` seems to be buggy at times. You can try using the normal `npm` instead if you have that installed.
After each meteor or package.json update, you will need to re-run `meteor npm install`
For any help, feel free to join us in our [Discord Channel](https://discord.gg/dtube)
## Contributing
If you want to contribute to the project, please read [this page](https://d.tube/#!/wiki/contribute).