API - daehyun99/Using-AI-Tools-Back GitHub Wiki

Layered Architechure

graph TD;
    Manager["Presentation (Manager.py)"] <--> manage["Business (manage.py)"]; 
    manage <--> Persistence["Persistence"]; 
    Persistence <--> Database["Database"];

Presentation Layer

Request

  • ...
{
    "data": {
        "key1": "value1",
        "key2": "value2",
        ...
        "keyN": "valueN"
    },
    "metadata": {
        "correlation_id": uuid.uuid4()
    }
}

Response

  • Success Response Body
{
    None
}
  • Error Response Body
{
    None
}

Business Layer

Request

  • ...
{
    "data": {
        "key1": "value1",
        "key2": "value2",
        ...
        "keyN": "valueN"
    },
    "metadata": {
        "correlation_id": correlation_id # Presentation Layer
    }
}

Response

  • Success Response Body
{
    "status": f"{StatusCode}",
    "msg": "✅ SuccessResponse",
    "error": None,
    "data": {
        "key1": "value1",
        "key2": "value2",
        ...
        "keyN": "valueN"
    }
}
  • Error Response Body
{
    "status": f"{StatusCode}",
    "msg": "🛑 ErrorResponse",
    "error": {
        "code": f"{StatusCode}{Service}{DetailCode}",
        "ex": ex
    },
    "data": None
}

Persistence Layer

Request

  • ...
{
    None
}

Response

  • Success Response Body
{
    None
}
  • Error Response Body
{
    None
}