Msg is gRPC-based backend for messaging written in golang.
Future goals:
- Implement message service which will allow users to send messages to chat rooms
- Unit tests and github workflow
Already achieved:
- Authentication and authorization with JWT and refresh tokens
- PostgreSQL as persistance storage
- gRPC and protobuf service creation with help of Makefile and well-prepared code organization
Run
$ make proto-c
For that to work you need to install
$ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
Create .env file and put it in a project root
.env file has to contain
API_HOST=":50051"
MESSAGE_HOST=":50052"
JWT_SECRET="s3cr3t"
JWT_DURATION_MIN=15
REFRESH_DURATION_DAYS=90
POSTGRES_DB="dbname"
POSTGRES_USER="dbuser"
POSTGRES_PASSWORD="dbuserpassword"
PGADMIN_DEFAULT_EMAIL="example@example.com"
PGADMIN_DEFAULT_PASSWORD="password"
PGADMIN_CONFIG_SERVER_MODE="False"
RABBITMQ_DEFAULT_USER="user"
RABBITMQ_DEFAULT_PASS="password"
$ docker-compose up -d