6ba19b3e01
continuous-integration/drone/push Build is passing
Details
When re-rendering the HudCanvas component, the selectionChange callback should not be triggered with the passed-in properties. Doing so leads to incorrect selection values being bubbled up when the selection is not enclosed in the viewport. The state management should probably be improved to avoid this dance completely, possibly by hoisting all of this state up to the top-level. |
||
---|---|---|
backend | ||
frontend | ||
proto | ||
.dockerignore | ||
.drone.yml | ||
.gitignore | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
deploy.sh | ||
protogen.sh |
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
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