https://github.com/darkweak/lbc-test-demo
https://github.com/darkweak/lbc-test-demo
Last synced: 2 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/darkweak/lbc-test-demo
- Owner: darkweak
- Created: 2026-06-22T20:49:47.000Z (6 days ago)
- Default Branch: master
- Last Pushed: 2026-06-23T09:50:35.000Z (6 days ago)
- Last Synced: 2026-06-23T12:17:23.417Z (5 days ago)
- Language: Go
- Size: 38.1 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# LBC - Test
## Subject
The original fizz-buzz consists in writing all numbers from 1 to 100, and just replacing all
multiples of 3 by "fizz"
, all multiples of 5 by "buzz"
, and all multiples of 15 by "fizzbuzz"
.
The output would look like this:
"1,2,fizz,4,buzz,fizz,7,8,fizz,buzz,11,fizz,13,14,fizzbuzz,16,...
"
.Your goal is to implement a
web server that will expose a REST API endpoint that:
- Accepts five parameters: three integers int1, int2 and limit, and two strings str1 and str2.
- Returns a list of strings with numbers from 1 to limit, where: all multiples of int1 are
replaced by str1, all multiples of int2 are replaced by str2, all multiples of int1 and int2 are
replaced by str1str2.The server needs to be:
- Ready for production
- Easy to maintain by other developersBonus: add a statistics endpoint allowing users to
know what the most frequent request has been. This endpoint should:
- Accept no parameter
- Return the parameters corresponding to the most used request, as well as the number of
hits for this request
## Setup
Just run `make prepare` to install all deps.
## Commands
Run:
```
go run cmd/server.go
```
Lint:
```
make lint
```
## Environment variables
| Name | Description | Default value | Required |
|:------------------|:----------------------------------------------------------------------------------------------------------------------------------------|:--------------|:----------------------------------------|
| `ADDRESS` | Define the server address | `:8080` | no |
| `ENABLE_KAFKA` | Feature toggle to enable Kafka | `false` | no |
| `KAFKA_ADDRESSES` | Set the Kafka adresses. Set only when `ENABLE_KAFKA` is set to `true`. Format is like `localhost:29092,localhost:29094,localhost:29096` | | only when `ENABLE_KAFKA` is set to true |