https://github.com/v1tbrah/go-dev-task-lccmzadddmsqbcsicqmxshzzygoyqqgkbkbq
https://github.com/v1tbrah/go-dev-task-lccmzadddmsqbcsicqmxshzzygoyqqgkbkbq
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/v1tbrah/go-dev-task-lccmzadddmsqbcsicqmxshzzygoyqqgkbkbq
- Owner: v1tbrah
- Created: 2022-11-27T16:19:29.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-11-27T20:07:02.000Z (over 2 years ago)
- Last Synced: 2025-02-07T13:31:47.769Z (4 months ago)
- Language: Go
- Size: 11.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# go-dev-task
## Installation
`git clone https://github.com/v1tbrah/go-dev-task-lcCmZaDDdmSQBcsIcqmxShzZyGOYqqgkBKbQ`
### Note!
* Because this is a training task:
* This tutorial omits application configuration, so:
* API server with phone numbers address: ":3333"
* Exchange name for triggers: "triggers"
* Routing key for triggers: "triggers"
* Decorator is used instead of database. It is filled with numbers with id from 1 to 99.
## Getting started* Run RMQ container `docker run -it --rm --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq:3.11-management`
* Open first terminal. Go to project working directory. Run API server with phone numbers. For example:
```
cd ~/go/src/go-dev-task-lcCmZaDDdmSQBcsIcqmxShzZyGOYqqgkBKbQ
go run cmd/phone/main.go
```
* Open second terminal. Go to project working directory. Run logger exchange. For example:
```
cd ~/go/src/go-dev-task-lcCmZaDDdmSQBcsIcqmxShzZyGOYqqgkBKbQ
go run cmd/logger/main.go
```
* Open third terminal. Go to project working directory. Run triggers app. For example:
```
cd ~/go/src/go-dev-task-lcCmZaDDdmSQBcsIcqmxShzZyGOYqqgkBKbQ
go run cmd/app/main.go
```
* Let's push to triggers app:
* Open your docker container. Open terminal in container.
* Publish valid msg to triggers app:
* `rabbitmqadmin publish exchange="triggers" routing_key="triggers" payload="{\"record_id\": \"1\"}"`
* Publish invalid msg to triggers app:
* `rabbitmqadmin publish exchange="triggers" routing_key="triggers" payload="{\"record_id\":"`
* If everything works, you should see the corresponding messages in the terminal logger exchange.