Clip audio from Youtube.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
Rob Watson 36bd92608a
continuous-integration/drone/push Build is passing Details
Update Go to 1.19
6 months ago
backend Update Go to 1.19 6 months ago
frontend Remove fast-forward and rewind buttons 9 months ago
proto Bug fix: update waveform after fetching audio from Youtube 1 year ago
.dockerignore Add Dockerfile and staging deployment setup 1 year ago
.drone.yml Update Go to 1.19 6 months ago
.gitignore Add FileSystemStore file store 1 year ago
Dockerfile Update Go to 1.19 6 months ago
LICENSE Add README and LICENSE files 1 year ago
README.md README.md: Add Drone badge 1 year ago
deploy.sh Frontend fixes 1 year ago
protogen.sh More progress 1 year ago

README.md

Clipper

Build Status

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

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

It is currently in early development.

Development

Dependencies

It is required that an ffmpeg binary is available in the current path.

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

Code generation

To regenerate 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 regenerate the database access layer, first install sqlc. New queries can be added to backend/sql/queries.sql, and code regenerated with:

cd backend/
sqlc generate

Mocks require mockery to be installed, and can be regenerated with:

go 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