(Ayuda) Simulador de préstamos para web (javascript y php)

Saito_25

Personal vaguer
Registrado
15 Mar 2015
Mensajes
975
Puntos
43
¿Qué tal? Mucho tiempo sin pasar por aquí, espero que todos estéis bien.

Neceisto vuestra ayuda/consejo para un pequeño proyecto que he puesto en marcha junto a un amigo, a ráiz de una oferta de trabajo que al final, no salió adelante.

Veréis, a priori, lo que hay que hacer es fácil, lo explico:

Necesitamos hacer una página web con un formulario reutilizable (luego lo explico mejor), que nos permita calcular cuánto le costaría a una empresa pedir un crédito (a la empresa que nos pidió el trabajo), guardar toda la información de las personas que se han añadido en el formulario y posteriormente, enviar dos correos, uno a la empresa que está interesada en el préstamo y otro a la empresa que los concede, con la información de los datos introducidos y el total calculado.

Os pongo un esquema para simplificarlo más:

1.- Introducir los datos de la empresa.
2.- Introducir datos de persona.
2.1.- ¿Introducir a otra persona?
2.1.1.- Sí
2.1.1.1.- Reutilizar formulario y guardar datos.
2.1.2.- No.
2.1.2.1.- Enviar datos.
3.- Hacer cálculos.
4.- Guardar datos y enviar información por correo a ambas empresas.

El problema es que no tengo ni idea de Java ni PHP, aunque eso no estanto problema, como plantear el cómo hacerlo, es decir, ¿qué pasos seguir? ¿Qué tecnologías me van a hacer falta? etc. Eso es lo que más me inquieta.

La forma en la que lo hemos planteado es esta, y agradecería mucho si podéis opinar y echarme un cable.

Hemos pensado en que haya un botón en el formulario que guarde la información de las persona que se ha agregado, siempre que sea correcta, en un array. Esto hacerlo con Javascript. Luego, esa información, cuando se dé al botón finalizar, se use para calcular todos los datos del crétido, como cuánto se pide, cuánto se cobra por el crédito y demás, enviar la información a una base de datos y con php o javascrip enviar dos correos con la información que se ha guardado en la base de datos.

¿Cómo lo veis? Es posible hacer que el formulario sea reutilizable?

Muchas gracias a todos.
 

kakadeluxe

Master Chapuzas
Registrado
9 Mar 2018
Mensajes
2.741
Puntos
113
Edad
56
Eso es fácil para un programador de PHP, usando la base de datos MySQL para almacenar los datos y PHP para programar los formularios en cualquier hosting barato, incluido los de 3€ al mes, incluyen esas tecnologías. Entre aplicaciones de PHP es fácil pasar los datos entre los formularios con las variables del servidor como _SERVER, _POST, _GET... y enviar emails.

Pero te sería mejor usar un creador de formularios online como Typeform o el de Google para hacer todo sin programar, ahí no te puedo decir cual es el adecuado. Los cálculos se puede hacer usando Javascript con los datos de los formularios, el envío de los emails no es problema para la web donde has creado los formularios. Plantéate esto antes de meterte a programar PHP.

Lee esto: Las 5 mejores herramientas para crear formularios online
 
Última edición:

Saito_25

Personal vaguer
Registrado
15 Mar 2015
Mensajes
975
Puntos
43
Muchas gracias, kakadeluxe. No me queda del todo claro lo que has comentado, soy noob en todo esto. Voy a revisar el enlace y a ver qué saco.

Gracias, de nuevo. Cualquier comentario es bienvenido.
 

Saito_25

Personal vaguer
Registrado
15 Mar 2015
Mensajes
975
Puntos
43
Sorry por el doble post, una cosa que no me queda clara, el formulario lo creo en la web externa, ¿no? y lo enlazo en la web que yo quiera, si no me equivoco. He visto alguno que otro que me podría servir, lo único que no sé es cómo meterle javascript luego a ese formulario ni cómo puedo reutilizarlo, ¿me podríais ayudar?

Gracias.
 

kakadeluxe

Master Chapuzas
Registrado
9 Mar 2018
Mensajes
2.741
Puntos
113
Edad
56

Saito_25

Personal vaguer
Registrado
15 Mar 2015
Mensajes
975
Puntos
43
Voy a intentarlo con wufoo, una pena que esté todo en inglés, joe, tengo que ponerme con el inglés, pero ya... T-T. Gracias por la ayuda, voy a ver si lo consigo.

Lo que más me está costando es reutilizar un mismo formulario para ingresar a varias personas.
 

kakadeluxe

Master Chapuzas
Registrado
9 Mar 2018
Mensajes
2.741
Puntos
113
Edad
56
Mira esto: Wufoo Help Center Pregunta a soporte de Wufoo por email, que es gratuito, tus problemas. Claro, en ingles. ;)
 

josejfernandez

Software Architect
Registrado
1 Ago 2012
Mensajes
444
Puntos
43
¿Es posible? Todo es posible ;)

Lo que planteas es muy sencillo. Si lo que quieres es aprender a hacerlo, ahí van unas pistas:

  • Aprende qué verbos (o métodos) HTTP existen y en qué se fundamentan. Te interesan principalmente POST y GET.
  • Aprende cómo funcionan los formularios en HTML y qué significan los atributos action y method.
  • Aprende cómo se recibe información de peticiones HTTP en el lenguaje de tu elección. Si vas a tirar por PHP, mejor, porque en esto es mucho más simple. Aqui hay dos enfoques: o hacerlo con AJAX o hacerlo enviando (submit) el formulario.

Ese es el fundamento de tu solución. Ahora, a construir las dos aplicaciones. Para el front:

  • Aprende a construir formularios en HTML. Mira qué campos quieres poner y cómo se crean.
  • Aprende a manipular estructuras de datos básicas en JavaScript: array, array.push, foreach, etc.
  • Aprende a validar resos datos. Establece las reglas que quieres y mira cómo se pueden validar.
  • Plantea la lógica que necesitas: cuando se añaden los datos se guardan en memoria, el fomulario puede vaciarse y permitir la entrada de más datos. O bien, puedes recargar la página e ir enviando uno por uno. No recomiendo eso porque implicará que deberás controlar la sesión o el estado en el backend, complicándolo un poco. Si optas por el submit, te recomiendo que más que usar el botón de submit, utilices un botón normal y le enganches los eventos manualmente.
  • Aprende cómo enviar esos datos según lo que hayas planteado: ¿Van en JSON? ¿Clave-valor? ¿Todos juntos o de uno en uno? ¿Los mando con el formulario o con AJAX? ¿Qué método HTTP interesa? Implementa el envío de la información en la forma que elijas.

Ahora el back:

  • Aprende cómo recibir los datos en el formato que hayas planteado en el front. Enviarlos desde un formulario tendrá un formato distinto que enviarlos mediante una petición AJAX con un JSON.
  • Aprende a validar los datos en el backend, según lo que hayas establecido que es "válido". La validación del front es sólo cosmética, para mostrar mensajitos. La validación que cuenta es la del back. Aquí hay dos resultados: válido o no. ¿Cómo vas a manejar que te envíen datos no válidos? ¿Envías una respuesta de algún tipo al front? ¿Generas un código de error HTTP? ¿Cómo reacciona el front a todo esto?
  • Aprende a manipular los datos como tú quieras en el back: enviarlos por email, insertarlos en una base de datos, etc. Eso ya depende de ti.

Anotaciones:

- Puedes experimentar primero con estas partes del backend en lugar del frontend para saber mejor qué te resulta más difícil, si trabajar en front o trabajar en back. Al que te resulte más difícil es al que puedes intentar liberar de lógica para trabajar más agusto ;)
- En tu andadura por el mundo front, analiza el código que veas con herramientas tipo Can I Use, que te indicarán con qué versión de los navegadores es compatible lo que intentas hacer.
- El estándar de facto en cuanto a envío de peticiones HTTP en JavaScript es Axios.

Si todo eso te parece mucho rollo y prefieres hacerlo por la vía rápida...

Utiliza TypeForm. Es una empresa ubicada en Barcelona que se dedica a facilitar el diseño de formularios. Trastea con sus formularios (son gratuitos) y explora la mejor forma de hacer lo que pides. ¿Varias personas? Puedes recargar la página. O implementarlo en TypeForm, si encuentras la forma de hacerlo.

Hagas lo que hagas, recuerda que vas a tratar con datos MUY personales de gente. Estos datos están protegidos por la GDPR europea y por la LOPD española. Además de que probablemente debas cumplir con la LSSI. Además de eso, deberías hacer uso del sentido común: tratar los datos de las personas CON RESPETO. Eso, como mínimo, requiere que la web donde la gente pueda enviar esos datos esté cubierta por HTTPS y contra vulnerabilidades básicas. Aquí tienes una guía sencilla para aprender más sobre este tema.
 
Última edición:

kakadeluxe

Master Chapuzas
Registrado
9 Mar 2018
Mensajes
2.741
Puntos
113
Edad
56
¡Que currazo te has pegado en explicarle al compañero!, "si seño" buen trabajo @josejfernandez No conocía "Can I use" 👍

Veo en Typeform, desconocía que eran compatriotas, que tiene algo curioso, los saltos lógicos que te puede valer: ¿Qué es un Salto Lógico?
 

Saito_25

Personal vaguer
Registrado
15 Mar 2015
Mensajes
975
Puntos
43
@josejfernandez,

Madre mía, no sé cómo darte las gracias. No había visto el mensaje, porque el foro no me ha avisado de que había una nueva respuesta.

Que currazo de post, muchísimas gracias!!!
 

Mariogzdz

Master Chapuzas
Registrado
25 Jun 2020
Mensajes
121
Puntos
28
Edad
40
Ya te han explicado bastante todos los compañeros sobre como realizar el formulario y diferentes alternativas para tratar los datos, pero para mi el punto más importante es el que ha comentado josejfernandez vas a trabajar con datos muy sensibles, datos personales y de caracter bancario.

Hagas lo que hagas, recuerda que vas a tratar con datos MUY personales de gente. Estos datos están protegidos por la GDPR europea y por la LOPD española. Además de que probablemente debas cumplir con la LSSI. Además de eso, deberías hacer uso del sentido común: tratar los datos de las personas CON RESPETO. Eso, como mínimo, requiere que la web donde la gente pueda enviar esos datos esté cubierta por HTTPS y contra vulnerabilidades básicas. Aquí tienes una guía sencilla para aprender más sobre este tema.
El no tener esto en cuenta puede acarrearte serios problemas a ti y a la empresa.

En relación al uso de los datos ha que tener en cuenta al menos tres aspectos:
- La obtención de los datos: debes dejar claro al usuario el uso que se hará con sus datos (analísis, perfiles, comunicaciones comerciales...) y el formulario debe ser seguro.
- El almacenamiento de los datos: guarda únicamente los datos que realmente necesites y quieras usar. Pensad muy bien si vaís luego a analizar los datos para informes. Un caso habitual es que una vez desarrollado el proyecto y ya en marcha el cliente pida un informe de datos que no se guardaron porque no eran necesarios en un principio. Por supuesto ya han comentado que la base de datos debe ser segura, encriptar los datos más sensibles, con una estructura que dificulte la correlación de los datos y a ser posible separar el servidor de base de datos del servidor de la aplicación.
- La trasmisión y transferencia de los datos: a los datos no sólo se puede acceder cuando se almacenan si no también cuando se transmiten o transfieren. Deberás encriptar los datos al enviarlos y trabajar con conexiones seguras.

Un saludo
 
Arriba