Skip to content

edgarhurtado27/custom-sepomex

Repository files navigation

About The Project

Custom SEPOMEX

https://custom-sepomex.herokuapp.com/

El proyecto surge ante la necesidad de tener un servicio REST que sea capaz de entregar la entidad federativa y colonia a partir del código postal. Si bien SEPOMEX tiene un portal en linea para consultar esta información, contar con un micro-servicio haria posible integrarlo de forma eficiente con una aplicación web o móvil.

Con base en lo anterior el proyecto tiene sólo un inbound rest api de tipo GET, lo puedes consultar mandando una petición a la siguiente ruta:

Toda la información devuelta por el servicio fue tomada directamente de SEPOMEX

Example Usage

Request

curl https://custom-sepomex.herokuapp.com/cp/56550

Response

{"codigoPostal":"56550","colonias":["Emiliano Zapata","Derramadero"],"estao":"México","municipio":"Ixtapaluca"}

Built With

Setup with Docker Compose

Esta sección detalla los pasos que debes seguir para hacer el setup del proyecto en tu ambiente local usando Docker Compose

Prerequisites

Deploy

  1. Clona el repositorio
    git clone git@github.com:edgarhurtado27/custom-sepomex.git
  2. Construye la imagen e instancia un contenedor Docker
    docker-compose up -d
  3. Valida que los contenedores web-sepomex y mongo-sepomex estan online
    docker ps
  4. Ejecuta el seeder para poblar la base de datos
    docker exec -it web-sepomex sh
    python customsepomex/seeder/curlSepomex.py
Usage

Una vez que el seeder finalice de importar la información, puedes realizar consultas de forma local

Request

curl localhost:5000/cp/40506

Response

{"codigoPostal": "40506", "colonias": ["La Sidra (Puente Arroyo Seco)", "El Veladero", "Ojo de Agua", "Palapa"], "estado": "Guerrero", "municipio": "Arcelia" }

Disclaimer

No recomiendo usar la aplicación desplegada en Heroku para tus aplicaciones en ambientes productivos, las instancias en las que está desplegada tanto el servicio REST como la base de datos son gratuitas, por lo que su poder de procesamiento es limitado. En su lugar es preferible descargar el proyecto y desplegarlo en tus propios servidores/instancias, donde sólo tú o tu compañía tengan acceso.

Contributing

Este es mi primer proyecto con Python por lo que seguramente no seguí las mejores prácticas del lenguaje, así que las contribuciones son bienvenidas.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

About

Custom API Sepomex

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published