Skip to content

Zip Codes API permite obtener la información completa de un código postal de México.

Notifications You must be signed in to change notification settings

modavidc/zipcodes-api-challenge

Repository files navigation

Zip Codes API logo

🇲🇽 Zip Codes API

Laravel 9.0 Docker 20.0 Redis 2.0 Nginx 1.22.0

Zip Codes API es una API con la cual se puede obtener la información completa de un codigo postal de cualquier parte del territorio mexicano 🇲🇽🌎🗺.

Echa un vistazo, juega y diviértete con esto. Las estrellas son bienvenidas 😊

Ver demostración · Reportar un error · Solicitar una característica

🚀 Configuración del entorno

🐳 Herramientas necesarias

  1. Instalar Docker
  2. Clonar este proyecto: git clone https://github.com/modavidc/zipcodes-api-challenge
  3. Moverse a la carpeta del proyecto: cd zipcodes-api-challenge

🛠️ Configuración del entorno

  1. Crear un archivo de entorno local (cp .env.example .env) si quieres modificar algún parámetro

🔥 Ejecución de la aplicación

  1. Instale todas las dependencias y abra el proyecto con Docker ejecutando:

    sh setup-local sh

  2. Tendrá la API de códigos postales disponible en:

    http://localhost:8080

✅ Ejecución de pruebas

docker exec app php artisan test

🎯 Arquitectura por Capas

Este repositorio sigue el patrón de Arquitectura por Capas. Además, está estructurado usando submódulos. Con esto, podemos ver que la estructura actual es:

$ tree -L 4 src

app
|___ Utils
    |___ ConstantsUtil.php
|___ Traits
    |___ KeyAttributeTrait.php
|___ Http
|   |___ Controllers
|   |   |___ ZipCodes
|   |       |___ GetZipCodeController.php
|   |___ Requests
|       |___ ZipCodes
|           |___ ImportFromTxtRequest.php
|___ Services
|   |___ ZipCodes
|       |___ Contracts
|       |   |___ ZipCodeServiceInterface.php
|       |___ ZipCodeService.php
|___ Imports
|    |___ Contracts
|    |   |___ ImportableInterface.php
|    |___ ZipCodesImporter.php
|___ Cache
|   |___ ZipCodeCache.php
|___ Repositories
|   |___ ZipCodes
|       |___ Contracts
|       |   |___ ZipCodeRepositoryInterface.php
|       |___ ZipCodeRepository.php
|___ Models
    |___ ZipCode.php
  • Utils: Contiene utilidades generales.

  • Traits: Contiene funciones reutilizables para los modelos.

  • Http: Se encarga del manejo de las peticiones HTTP.

  • Services: Se encarga del manejo de la lógica de negocio.

  • Imports: Se encarga de la importación de los datos.

  • Cache: Se encarga del manejo de la cache.

  • Repositories: Se encarga del acceso al origen de datos y obtener los distintos modelos de datos.

  • Models: Se encarga de la interacción con la base de datos MySQL.

👤 Autor

Moisés Cedeño

🤝 Contribuciones

Las contribuciones, los problemas y las solicitudes de funciones son bienvenidos. Siéntase libre de comprobar issues page si quieres contribuir.

🧑 Créditos:

📝 Licencia

Copyright © 2022 modavidc.
Este proyecto es MIT licensed.


_Este README fue generado con ❤️ por readme-md-generator

About

Zip Codes API permite obtener la información completa de un código postal de México.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages