Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💱 Currency API

Currency API es una API REST desarrollada en Go (Golang) que permite obtener tasas de cambio entre diferentes monedas y realizar conversiones monetarias en tiempo real. Está diseñada para integrarse fácilmente en sistemas financieros, aplicaciones de ecommerce, pasarelas de pago, dashboards de análisis financiero y cualquier entorno que requiera manejo de divisas. La arquitectura modular y el enfoque en el rendimiento la hacen ideal para despliegues en producción.

🚀 Características

🔁 Tasas de cambio actualizadas

Obtén tasas de cambio en tiempo real a partir de un proveedor externo de datos financieros, usando una moneda base configurable.

💸 Conversión entre monedas

Convierte montos de una divisa a otra al instante, útil para cálculos de pagos, precios internacionales, o conversiones contables.

⚙️ Desarrollado con Go

Aprovecha la eficiencia, concurrencia y bajo consumo de recursos del lenguaje Go para ofrecer una API rápida y estable.

🧩 Código modular

Organizado por capas: rutas, controladores, servicios y utilidades. Esto mejora la mantenibilidad y facilita pruebas e integraciones futuras.

🔐 Configuración segura

Utiliza variables de entorno para definir claves API, puerto de ejecución, y endpoints de terceros sin exponer información sensible.


📁 Estructura del Proyecto

currency-api/
├── cmd/
│   └── server/
│       └── main.go           # Punto de entrada del servidor
├── internal/
│   ├── handlers/             # Lógica de manejo de endpoints
│   ├── services/             # Lógica de negocio y consumo de APIs externas
│   └── utils/                # Funciones auxiliares
├── .env                      # Variables de entorno
├── go.mod                   # Módulo de dependencias de Go
└── README.md

🧪 Instalación y Uso:

  • Paso 1: Clonación del repositorio.
  • Paso 2: Instalación de dependencias utilizando go mod tidy.
  • Paso 3: Configuración de variables de entorno para definir claves API, puertos y URL.
  • Paso 4: Iniciar el servidor con go run.

📬 Endpoints:

  • GET /api/rates: Para obtener las tasas de cambio con respecto a una moneda base.
  • GET /api/convert: Para realizar la conversión entre dos monedas.

🔭 Roadmap Futuro:

  • El roadmap incluye nuevas funcionalidades como soporte para múltiples proveedores de datos, cache de tasas, y soporte de WebSockets para notificaciones en tiempo real.

🛠 Tecnologías Usadas:

  • Go (Golang): Se menciona como el lenguaje principal utilizado en el proyecto.
  • Gorilla Mux: Se usa como el enrutador HTTP para gestionar las rutas en la API.
  • Dotenv: Utilizado para cargar variables de entorno de manera segura.
  • HTTP Client: Se emplea para realizar solicitudes a APIs externas para obtener tasas de cambio.
  • JSON: El formato de intercambio de datos entre la API y los clientes.
  • Git: Herramienta de control de versiones utilizada en el proyecto.
  • Docker: Para crear contenedores y facilitar el despliegue de la API en cualquier entorno.

🤝 Contribuciones:

  • !Las contribuciones son bienvenidas! Abre issues o envía pull requests.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages