PagosApiTest es una API REST desarrollada en Golang utilizando el framework Gin. La API permite gestionar comercios, transacciones, calcular comisiones y obtener ganancias. El proyecto está completamente dockerizado y usa PostgreSQL como base de datos.
Asegúrate de tener Docker y Docker Compose instalados en tu máquina.
Si no tienes Docker y Docker Compose instalados, sigue estos pasos:
En sistemas Linux (Ubuntu/Debian):
sudo apt update
sudo apt install docker.ioEn macOS y Windows, descarga Docker Desktop desde la página oficial de Docker.
Instalar Docker Compose:
En sistemas Linux (Ubuntu/Debian):
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-composeEn macOS y Windows, Docker Compose viene incluido con Docker Desktop.
Verificar la instalación: Asegúrate de que Docker y Docker Compose están correctamente instalados ejecutando los siguientes comandos:
docker --version
docker-compose --versiongit clone https://github.com/abrahamsantos-developer/PagosApiTest.gitcd PagosApiTestEjecuta el siguiente comando para construir la imagen y levantar la aplicación junto con PostgreSQL:
docker-compose up --buildSi es necesario, puedes agregar sudo antes de los comandos docker y docker-compose.
sudo docker-compose up --buildEsto levantará tanto la API como la base de datos en contenedores Docker.
La API estará corriendo en http://localhost:3000.
Puedes acceder a la documentación interactiva de la API en http://localhost:3000/swagger/index.html.
Comandos útiles
- Parar los contenedores: El siguiente comando detendrá y eliminará los contenedores, pero no eliminará las imágenes ni volúmenes.
docker-compose down- Reiniciar los contenedores: El siguiente comando reconstruirá las imágenes y levantará nuevamente los contenedores. Útil si hiciste cambios en el código o en el Dockerfile y necesitas aplicar esos cambios.
docker-compose up --build- Eliminar contenedores y volúmenes: Este comando detendrá y eliminará los contenedores y también los volúmenes. Los datos persistidos se perderán, pero las imágenes no se eliminarán.
docker-compose down --volumes
- Parar los contenedores y eliminar volúmenes e imágenes: Si además de detener los contenedores quieres eliminar las imágenes y volúmenes asociados, puedes ejecutar:
docker-compose down --rmi all --volumes