df/README.md

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.

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

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