Clip audio from Youtube.
Go to file
Rob Watson e9bca62098 README.md: add migration section 2021-12-04 06:39:29 +01:00
backend Add README and LICENSE files 2021-12-04 06:26:30 +01:00
frontend Prefer React.memo to useMemo when memoizing components 2021-12-04 05:34:17 +01:00
proto Frontend fixes 2021-12-02 15:55:14 +01:00
.dockerignore Add Dockerfile and staging deployment setup 2021-11-27 14:26:14 +01:00
.gitignore Get video from Youtube, send progress via gRPC 2021-11-21 16:09:30 +01:00
Dockerfile Add Dockerfile and staging deployment setup 2021-11-27 14:26:14 +01:00
LICENSE Add README and LICENSE files 2021-12-04 06:26:30 +01:00
README.md README.md: add migration section 2021-12-04 06:39:29 +01:00
deploy.sh Frontend fixes 2021-12-02 15:55:14 +01:00
protogen.sh More progress 2021-11-21 16:09:30 +01:00

README.md

Clipper

Clipper is a Youtube audio clipper developed using modern web technologies.

  • Go
  • protobuf, grpc-web
  • Typescript
  • React

It is currently in early development.

Development

Code generation

To generate protobuf code and GRPC stubs, first install protoc and the GRPC dependencies:

go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

Then generate the code with:

./protogen.sh

To generate the database access layer, first install sqlc.

cd backend/
sqlc generate

Migrations

Database migrations require golang-migrate.

go install -tags 'postgres' github.com/golang-migrate/migrate/v4/cmd/migrate@latest

Migrations then can be run with:

cd backend/
migrate -path sql/migrations -database $DATABASE_URL up

Running the app

The backend requires configuration via environment variables - see backend/.env.example. All variables must be set unless they are marked as optional.

Then, the server can be started with:

cd backend/
go run cmd/clipper/main.go

The frontend can be launched on localhost:3000 with:

cd frontend/
yarn start