Wavekit server is built with go
and pnpm
. The web frontend is served by wavekit server as static files.
All static files are bundled into the server binary through embed.go
.
- Build frontend
make build-web
- Build server
make build-server
-
sql/migrations
andsql/queries
are single source of truth for database schema and operation. Database related code will be generated from these files. -
wire/wire.go
helps to resolve dependency injection. -
web/api
is the single source of truth for API definition. Controller code in server and client code in web are generated from this file. -
internal/config
is the single source of truth for configuration. It will be used to load configuration fromconfig.yaml
or environment variables.
- Generate code
make gen
- Start development environment
make dev
- Reload code
make reload
- Run unit tests
make ut
- Run end-to-end test
make test