It is a decentralized application (DApp) that emulate the functionality of youtube for authenticated user to upload and view own videos despite not having own libraries of other user video.
| Component | Function | Classification |
|---|---|---|
| React | Front-end JavaScript library | front-end |
| Metamask Wallet | Crypto wallet & DApp gateway | gateway-tool |
| IPFS | P2P network for file storing and sharing in distributed file system | file database |
| Ganache | Personal/local Ethereum Blockchain used to test smart contracts | blockchain |
| Solidity | Object-oriented programming language for writing smart contracts | programming language |
| Truffle | Development suite to manage blockchain developers' entire workflow | dev tools |
| Web3.js | Collection of libraries that interact with a local/remote ethereum node using HTTP, IPC or WebSocket. | JS libraries |
| Node.js | Open-source, cross-platform, back-end JavaScript runtime environment that runs on the V8 engine | framework |
| NPM (Node Package Manageer) | Puts modules in place so that node can find them, and manages dependency conflicts | package manager |
| NVM (Node Version Manager) | Allows quickly install and use different versions of node via the command line. | cli help tools |
