• Stars
    star
    582
  • Rank 76,801 (Top 2 %)
  • Language
    Python
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Skeleton of a Microservice built with the Flask

python-flask-microservice

This is the code used in this series of articles:

This is a basic approach of building a Microservice on top of Flask, with some useful packages like:

Requirements

We are going to build a microservice to index rooms information coming from another service (crawler). This service will be responsible for indexing the information into Elasticsearch.

The indexing will be a process of:

  • Validate and sanitize the data
  • Get some metadata from the room information like geolocalization
  • Upload the given images URL to Amazon S3
  • Send an event to RabbitMQ every time a new room has been indexed serializing the payload with Avro.

Endpoints:

Method URI Description Status
POST /room it will receive the room payload, and it will proceed to index it Development
PATCH /room/{id} this PATCH method will allow us to make changes on the indexed item Not started
DELETE /room/{id} this method will remove the room from the index Not started
GET /room/{id} this method will return the room data for a given room id Not started
GET /health-check This endpoint retuns the state of the service Not started

Running the environment

You need to have Docker installed in your machine, after that, just run this command docker-compose build && docker-compose up -d.