This is a Go project that uses the Echo framework for building web applications and the Templ package for rendering HTML templates.
- Go 1.22.0 or later
- Docker (for building and running the Docker image)
- migrate (for running database migrations)
- direnv (for loading automatically environment variables from the .env file)
- Make sure the your Go setup is completed:
Paste the following in your
$HOME/.zshrc
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$PATH
- Install the dependencies:
go install github.com/cosmtrek/air@latest
go install github.com/a-h/templ/cmd/templ@latest
go install go.uber.org/mock/mockgen@latest
make init
- Setup you
.env
file. See .env.template
To run the server and watch for file changes simultaneously, follow these steps:
- Open two separate terminal tabs.
- In the first tab, start the server on port 3000 with the following command:
make start
- In the second tab, generate the styles.css file by watching for file changes:
make tailwind
- First, build the Docker image:
make docker-build
- Then, run the Docker image:
make docker-run
This command will start the server on port 8080.
To run the unit tests:
make test
To get test coverage:
make test-coverage
To generate mocks:
make generate-dev
To update snapshots:
make update-snapshots
To test the kubernetes deployment you can install minikube on your dev maschine.
- Install minikube on your maschine
- Init minikube
minikube start --vm-driver=docker --alsologtostderr
- Test minikube
kubectl get pods -A
Please read CONTRIBUTION.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the LICENSE - see the LICENSE file for details