https://github.com/renegatemaster/wb-l0
This is a training task from WB
https://github.com/renegatemaster/wb-l0
go golang nats-streaming postgresql
Last synced: 7 months ago
JSON representation
This is a training task from WB
- Host: GitHub
- URL: https://github.com/renegatemaster/wb-l0
- Owner: renegatemaster
- Created: 2023-12-16T20:19:32.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2023-12-18T08:03:12.000Z (almost 2 years ago)
- Last Synced: 2024-06-19T17:55:29.450Z (over 1 year ago)
- Topics: go, golang, nats-streaming, postgresql
- Language: Go
- Homepage:
- Size: 10.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# wb-L0
This is a training task from WB### Установка
```bash
git clone git@github.com:renegatemaster/wb-l0.git
cd wb-l0/
docker compose up -d
```В docker compose два контейнера: Nats Streaming и PostgreSQL
Создадим таблицу для наших данных в PostgreSQL
```bash
docker exec -it db psql -U test_user -d test
```
```SQL
CREATE TABLE orders (
uid varchar(50) UNIQUE NOT NULL PRIMARY KEY,
data jsonb NOT NULL
);
```### Использование
(не забудьте настроить файл .env)
Для публикации данных в канал исполните команду:
```bash
go run pub/pub.go
```
Для активирования подписчика исполните команду:
```bash
go run main.go
```
Данные из базы данных будут загружены в кэш сервиса
Входящие сообщения будут записываться в базу данных и кэшПолучить данные по API можно по GET-запросам вида:
```
http://localhost:8080/orders/b563feb7b2b84b6test
```
Тестовые запросы уже заготовлены в папке requests