1.2 KiB
1.2 KiB
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