Разработать микросервис на Go, который будет принимать сообщения через HTTP API, сохранять их в PostgreSQL, а затем отправлять в Kafka для дальнейшей обработки. Обработанные сообщения должны помечаться. Сервис должен также предоставлять API для получения статистики по обработанным сообщениям. Требования:
- Использовать Go 1.20+
- Использовать PostgreSQL для хранения сообщений
- Реализовать отправку и чтение сообщений в Kafka
- Предоставить возможность запустить проект в Docker
Мы ожидаем, что тестовое задание будет запущено на сервере и доступно для тестирования через интернет
На выходе ожидаем получить: Ссылку на проект развернутый на сервере Инструкцию по подключению Git репозиторий с кодом
{
"user":"username",
"pass":"password"
}
{
"user":"username",
"pass":"password"
}
this method returns jwt auth in cookies
{
"id": uint,
"pal_id": uint,
"user_id": uint,
"created_at": uint,
"message": "your msg"
}
{
"pal_id": uint,
"message": "your msg"
}
[
{
"id": uint,
"pal_id": uint,
"user_id": uint,
"created_at": uint,
"message": "your msg"
},
{
"id": uint,
"pal_id": uint,
"user_id": uint,
"created_at": uint,
"message": "your msg"
},
...
]
[
{
"id": uint,
"pal_id": uint,
"user_id": uint,
"created_at": uint,
"message": "last sent message from [pal_id]"
},
{
"id": uint,
"pal_id": uint,
"user_id": uint,
"created_at": uint,
"message": "last sent message from [pal_id]"
},
...
]
{
"messages": uint,
"since": uint,
"to": uint,
}
{
"user_id": uint,
"messages": uint,
"since": uint,
"to": uint,
}
{
"user_id": uint,
"messages": uint,
"since": uint,
"to": uint,
}