title: How do I design this procedural code as class based (object oriented)?
body: <p>I'm a beginner-intermediate self taught Python developer, </p>
  
  <p>In most of the projects I completed, I can see the following procedure repeats. I don't have any outside home code experiences, I think the below code is not so professional as it is not reusable, and seems like it is not fitting all together in a container, but loosely coupled functions on different modules.</p>
  
  <pre><code>def get_query():
      # returns the query string
      pass
  
  def make_request(query):
      # makes and returns the request with query
      pass
  
  def make_api_call(request):
      # calls the api and returns response
      pass
  
  def process_response(response):
      # process the response and returns the details
      pass
  
  def populate_database(details):
      # populates the database with the details and returns the status of population
      pass
  
  def log_status(status):
      # logs the status so that developer knows whats happening
      pass
  
  query = get_query()
  request = make_request(query)
  response = make_api_call(request)
  details = process_response(response)
  status = populate_database(details)
  log_status(status)
  </code></pre>
  
  <p>How do I design this procedure as a class based design?</p>