This is a REST API project built to perform MSISDN (Mobile Station International Subscriber Directory Number) lookups from 20 Redis sets. Each set contains a massive amount of data (approximately 20 million records). The project is developed using Golang, the Fiber framework, and Docker for containerization.
- MSISDN lookup from 20 Redis sets.
- High-performance REST API using Golang and Fiber.
- Containerized using Docker for easy deployment and scaling.
Before you get started, ensure you have the following dependencies installed:
- Golang
- Docker
- Clone this repository:
git clone https://github.com/abdur-rakib/msisdn-lookup.git
cd msisdn-lookup
-
Set up your Redis instances with the 20 data sets containing the MSISDN records.
-
Run the project using docker compose:
docker compose up -d --build
Once the API is running, you can make HTTP requests to perform MSISDN lookups. Detailed API documentation can be found in the API Endpoints section below.
GET /customer-segments/?msisdn={msisdn}
: Lookup the MSISDN in the Redis sets.
Replace {msisdn}
with the MSISDN you want to look up.
Example request:
GET /customer-segments/?msisdn=880172601495
Example response:
{
"data": {
"customer_segment_1": 0,
"customer_segment_10": 0,
"customer_segment_11": {
"0": "bngQs",
"1": "HojRNK",
"2": "q4KPA"
},
"customer_segment_12": 0,
"customer_segment_13": {
"0": "ktQkg",
"1": "DJSgJ0",
"2": "KCbKr"
},
"customer_segment_14": 0,
"customer_segment_15": 0,
"customer_segment_16": {
"0": "dSiaB",
"1": "zUecq6",
"2": "rwMt8"
},
"customer_segment_17": 0,
"customer_segment_18": 0,
"customer_segment_19": 0,
"customer_segment_2": 0,
"customer_segment_20": 0,
"customer_segment_3": 0,
"customer_segment_4": {
"0": "FHH6C",
"1": "3ybr8L",
"2": "tvCQz"
},
"customer_segment_5": 0,
"customer_segment_6": 0,
"customer_segment_7": 0,
"customer_segment_8": 0,
"customer_segment_9": 0
},
"msisdn": "880172601495"
}
If you'd like to contribute to this project, please follow our Contributing Guidelines.
This project is licensed under the MIT License.