This document provides instructions on how to set up and run the Go project using the provided Makefile
commands.
- Go 1.18+
- Make
- Air (for
make air
)
Ensure you have these dependencies installed before running the commands.
Before running the project, ensure that you have the following installed:
- Go 1.18+: The Go programming language (required to run and build the project).
- Air: A live-reloading tool for Go that will automatically restart the project on file changes.
- Make: A build automation tool used to manage tasks defined in the
Makefile
.
- Install Go If you don't have Go installed, follow the official guide to install it:Go Installation Guide.
- Install Make To install Make, follow the installations steps from here based on your OS: Make Installation Guide.
- Install Air To install Air, follow the installation steps here: Air Installation Guide
There are 2 ways of running Queue and Consumer,
- either you can setup both with docker if you are not working on consumer
- but in case if you are working on consumer and want hot reloading, go with running consumer manually
Set the following env var(s)
QUEUE_URL = "amqp://rabbitmq:5672"
DISCORD_SERVICE_URL = "http://host.docker.internal:<PORT>"
DISCORD_QUEUE = <ANY_NAME> #Default: "DISCORD_QUEUE"
Run the compose command:
docker-compose up --build
docker compose -f 'docker-compose.yml' up -d --build 'rabbitmq'
Important
To check if the queue is running or not, visit http://localhost:15672
This is how the UI will look like once you open http://localhost:15672

Important
User "guest" as username and password
Set the following env var(s)
QUEUE_URL = "amqp://localhost:5672"
DISCORD_QUEUE = <ANY_NAME> #Default: "DISCORD_QUEUE"
DISCORD_SERVICE_URL = "http://localhost:<PORT>"
- Install Packages
go mod download
-
Verify Packages If it's your first time running the project, ensure all dependencies are set up:
go mod tidy
-
Running the Project
go run .
-
Running the Project Using Air
air
You can run the project using the Makefile
, which provides several commands for various tasks. Below are the steps to run the project:
-
Install Packages
make download
-
Verify Packages If it's your first time running the project, ensure all dependencies are set up:
make tidy
-
Running the Project
make run
-
Running the Project Using Air
make air
-
To run tests:
make test #or go list ./... | grep -v "/config$$" | grep -v "/routes$$" | xargs go test -v
-
To generate a coverage report:
make coverage #or go list ./... | grep -v "/config$$" | grep -v "/routes$$" | xargs go test -v -coverprofile=coverage.out
-
To automatically re-run the application on changes:
make air #or air
-
To clean up the generated files:
make clean #or rm -rf coverage coverage.out coverage.html