# Satoshi's Rice
###### tags: `documentation` `development`
:::info
**Purpose:**
- This document is used for documenting the development process of Satoshi's Rice livestreaming platform.
**Resources:**
- [GitHub Repository](https://github.com/satoshisrice/satoshisrice)
:::
## Table of Contents
[TOC]
## Development Progress Notes
### 28/10/2020
```bash
# Save credentials locally
gcloud container clusters get-credentials cluster-helloworld --zone asia-east1-b
# Build the docker image
docker build -t gcr.io/satoshis-rice-live/hello-app:v1 $PWD
# Authenticate docker and push image
# Source: https://cloud.google.com/container-registry/docs/support/deprecation-notices#gcloud-docker
gcloud auth configure-docker
docker -- push gcr.io/satoshis-rice-live/hello-app:v1
# Run application
kubectl create deployment hello-app --image=gcr.io/satoshis-rice-live/hello-app:v1
# Expose application to public
kubectl expose deployment hello-app --type="LoadBalancer" --port 8080
# Find external IP
kubectl get service hello-app --watch
# Scale application
kubectl scale deployment hello-app --replicas=4
# View application settings
kubectl get deployment
kubectl get pods
# Update and push image
docker build -t gcr.io/satoshis-rice-live/hello-app:v2 $PWD
docker -- push gcr.io/satoshis-rice-live/hello-app:v2
kubectl set image deployment/hello-app hello-app=gcr.io/satoshis-rice-live/hello-app:v2
```
### 09/11/2020
**Agenda**
- [ ] Implement RTMP between client and server
**Notes**
- Inject: RTMP Between web client and server.
- Transcode: [Shaka packager](https://github.com/google/shaka-packager)
- Distribute: MPEG-DASH on CDN.
- Player: [Saka player](https://github.com/google/shaka-player)
### 21/11/2020
**Agenda**
- [ ] Implement RTMP between client and server
- [ ] Learn to use yarn for frontend development dependency management
**Notes**
- Should we use RTMPT (RTMP encapsulated within HTTP(s) requests) ???
- Maybe we should use WebRTC for client -> server ???
- YARN or NPM for frontend development.