dowrow / EjercicioTransacciones

Ejercicio Transacciones

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Exercise

Intro

Estamos actualizando nuestros paneles de gestión propios porque ahora mismo están hechos en COBOL y no encontramos gente que sepa COBOL :/ Para la primera versión vamos a tener un solo panel que muestre un listado de las transacciones que ocurren en la plataforma. Ahora mismo el equipo técnico está hasta arriba con unas nuevas funcionalidades así que necesitamos que nos echen un cable :) Los paneles actuales es una aplicación con muchas ventanas y diferentes tipos de usuarios (roles) y aunque esta es una primera iteratión, en un futuro queremos mover todos los paneles al nuevo sistema.

Necesidades

Partiendo de nuestra API necesitamos una página web que liste las transacciones que ya está dando el backend. Los chic@s de la oficina (gestión y control) nos cuentan unas primeras necesidades:

Gente de gestión

La gente de gestión es quien trata con nuestros clientes cuando estos se lían o no saben como seguir, son los primeros en detectar un problema en nuestra plataforma y necesitan toda la información posible. Además tienen unas ideas concretas para agilizar su trabajo:

  • Hay que aplicar unos descuentos en función de la cantidad de dinero:

    • Descuento del 30% si el dinero mayor que 8000€
    • Descuento del 20% si el dinero está entre 8000€ y 4000€.
    • Descuento del 10% si el dinero supera los 1000€
  • Algunas veces nuestros usuarios sufren de parkinson y pulsan dos veces el botón de realizar envío (en otra web). Así que tenemos envíos duplicados (mismo usuario y dinero). Tenemos que ver que envíos están duplicados.

  • Algunos países necesitan documentación especial en la aduana. Necesitamos marcar los envíos con dichos países.

    • Países especiales: ESP, REU, AND, ATA.

No sabemos si en un futuro se van a añadir más casos concretos para la gente de gestión.

Gente de control

Para comprobar que todo el trabajo se realiza correctamente y sacar alguna que otra métrica. Hay cuatro personas que necesitan ver las transacciones pero no necesitan saber la información de las localizaciones (origen y destino).

Entorno

El equipo de Marketing está muy concienciado con que todos los desarrollos deben mantener una línea uniforme y acorde a la web comercial. Sin olvidarnos de la labor de sabueso que desempeña nuestro equipo de QA (son muy meticulosos en su trabajo!).

Un compañero de gestión en un viaje espiritual a Nepal conocio a una chica, él ahora se ha hecho budista y vegetariano. Después de 3 años de noviazgo se casan en unos meses y nuestro compi pasa a trabajar en remoto desde Nepal aunque el internet allí va fatal. Son la pareja más feliz del edificio y su alegría se contagia mucho, ojalá los conozcas. No tenemos claro que velocidad de conexión va a tener o que dispositivos podrá usar nuestro compi.

Además tenemos a un inversor muy importante que le gustan las páginas web en tiempo real, él siempre presume de nuestras webs con sus colegas en su móvil mientras fuman habanos.

Server API

GET hi:

{"description":"Hi developer!","version":"0.3.0"}

GET transactions :

{"transactions":[{"transaction_id":"n4d9s86n3r","origin":{"id":"ING","lat":"-45.89765358649045","lng":"51.42390969869689","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exerci"},"destination":{"id":"MDA","lat":"14.543026546297313","lng":"69.08560348194658","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exerci"},"money_amount":"12401€","user_id":"vmjyktdse8","courier_id":"nhsl9mf","new_user":"no","created_at":"2016-09-06T07:31:06.050Z"}]}

API SERVER

Arrancar el server

cd server
docker build -t server .

El primer arranque: docker run -p 8080:8080 --name server server
El resto de veces: docker start -a server

Parar el server

(En otro terminal)

docker stop server

Requisitos del ejercicio

  • No se puede modificar el codigo fuente del server.
  • Puedes elegir cualquier tecnología para hacer el cliente.

About

Ejercicio Transacciones


Languages

Language:TypeScript 81.8%Language:JavaScript 8.6%Language:HTML 7.9%Language:CSS 1.8%