Clip audio from Youtube.
Go to file
Rob Watson 36bd92608a
continuous-integration/drone/push Build is passing Details
Update Go to 1.19
2022-08-05 19:53:54 +02:00
backend Update Go to 1.19 2022-08-05 19:53:54 +02:00
frontend Remove fast-forward and rewind buttons 2022-05-18 18:16:51 +02:00
proto Bug fix: update waveform after fetching audio from Youtube 2022-01-25 22:47:26 +01:00
.dockerignore Add Dockerfile and staging deployment setup 2021-11-27 14:26:14 +01:00
.drone.yml Update Go to 1.19 2022-08-05 19:53:54 +02:00
.gitignore Add FileSystemStore file store 2021-12-08 20:58:13 +01:00
Dockerfile Update Go to 1.19 2022-08-05 19:53:54 +02:00
LICENSE Add README and LICENSE files 2021-12-04 06:26:30 +01:00 Add Drone badge 2021-12-12 19:03:51 +01:00 Frontend fixes 2021-12-02 15:55:14 +01:00 More progress 2021-11-21 16:09:30 +01:00


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.



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
go install

Then generate the code with:


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 ./...


Database migrations require golang-migrate.

go install -tags 'postgres'

Migrations then can be run with:

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