2.7 KiB
df
To first run the application in your local environment you can use
# In the root directory
docker-compose -f ./bff/docker-compose.yaml -p df-bff up -d
# In bff directory
docker-compose -p df-bff up -d
# Using `make`
make backend
Prerequisites
To create a local development environment you need some tools.
Backend
Basics
You need the basics if you just want to start a test environment to test the application.
Optional but recommended
If you wish to use the Makefile
you need make
which should be available for most linux systems.
However if you are on Windows you could use GnuWin32.Make
which can be installed on Windows 11 using:
winget install GnuWin32.Make
Database
To work with the database you need the following tools.
Container software
You can use either docker
or podman
. But the Makefile
uses the docker
command.
If you wish to use podman
you can create a symlink
to make it work.
On fedora
it works like this:
# Rename the docker binary:
sudo mv /usr/bin/docker /usr/bin/docker_bkp
# Create a symlink
sudo ln -s /usr/bin/podman /usr/bin/docker
golang-migrate
golang-migrate
makes db schema initialization and updates easy.
You can install it as described here.
Furthermore the binary should be in your PATH
environment variable.
Server
To run the server you need go
installed. See here for instructions
Developing
Should you want to make changes you need further tools.
- sqlc: For generating code from
postgres
queries - gomock: For generating a mock database for testing
- evans: For testing gRPC endpoints
- protoc: For generating code from
.proto
-files (gRPC)- plugins:
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
- plugins:
Important: If you install protoc
on fedora you will need an additional package to make it work. Use the following command for setup:
sudo dnf install -y protobuf-compiler protobuf-devel
Frontend
This section will be added as soon as we begin with the development of the frontend