Coder Social home page Coder Social logo

placetopay's Introduction

PlaceToPay

El proyecto está hecho con Laravel 5.8 y usa Faker para generar datos en las pruebas unitarias y Guzzle para las peticiones a su API.

  • Se utilizó TDD para los casos de prueba de crear un pago y crear un comprador.
  • Se utilizó un Observer de Laravel para crear la fecha de expiración de la transacción con una hora de duración automáticamente se registre un pago.
  • Se creó un ServiceProvider llamado PlaceToPayServiceProvider para registar el Facade PlaceToPay y así llamar globalmente al Helper PlaceToPay, clase encargada de realizar las peticiones a su API.

Heroku

La aplicación esta desplegada a Heroku en el siguiente enlace PlaceToPay

Clonar proyecto

git clone https://github.com/paleox/placetopay.git

Instalar dependencias

Una vez se haya clonado el proyecto se deben instalar las dependencias de Laravel

cd placetopay
composer install

Configurar .env

Como prerrequisito la base de datos debe estar creada. Se debe crear un archivo llamado .env partiendo de la estructura del archivo .env.example y se deben configurar las siguientes variables con sus respectivos valores:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=placetoplay
DB_USERNAME=root
DB_PASSWORD=

PTP_LOGIN=login
PTP_SECRET=secretKey
PTP_ENDPOINT=https://test.placetopay.com/redirection/
PTP_LOCALE=es_CO

Una vez configurado es necesario generar el key de la aplicación:

php artisan key:generate

**Los parámetos PTP son opcionales ya que cuentan con su propio archivo de configuración ubicado en placetopay\config\placetopay.php

Pruebas unitarias

Las pruebas unitarias se encuentran en placetopay\tests\Feature\Http\Controllers. Para ejecutar las pruebas unitarias se usan los comandos:

.\vendor\bin\phpunit.bat tests\Feature\Http\Controllers\PaymentControllerTest.php
.\vendor\bin\phpunit.bat tests\Feature\Http\Controllers\BuyerControllerTest.php

Si se desea ejecutar un método en especifico se usa --filter nombre_metodo por ejemplo:

.\vendor\bin\phpunit.bat tests\Feature\Http\Controllers\PaymentControllerTest.php --filter can_create_a_payment

**Es importante recordar que cada vez que se ejecuten las pruebas la base de datos será reseteada por el uso del trait RefreshDatabase

Crear tablas y poblar base de datos

php artisan migrate --seed

Ejecutar el proyecto

php artisan serve

placetopay's People

Contributors

dresrok avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.