# Construir una App Bancaria Parte 2: Crear un Formulario de Inicio de Sesión y Registro ## Cuestionario Previo a la Clase [Cuestionario previo a la clase](https://ff-quizzes.netlify.app/web/quiz/43) ### Introducción En casi todas las aplicaciones web modernas, puedes crear una cuenta para tener tu propio espacio privado. Como múltiples usuarios pueden acceder a una aplicación web al mismo tiempo, necesitas un mecanismo para almacenar los datos personales de cada usuario por separado y seleccionar qué información mostrar. No cubriremos cómo gestionar [la identidad del usuario de forma segura](https://en.wikipedia.org/wiki/Authentication), ya que es un tema extenso por sí solo, pero nos aseguraremos de que cada usuario pueda crear una (o más) cuentas bancarias en nuestra aplicación. En esta parte utilizaremos formularios HTML para añadir inicio de sesión y registro a nuestra aplicación web. Veremos cómo enviar los datos a una API de servidor de manera programada y, finalmente, cómo definir reglas básicas de validación para las entradas de usuario. ### Prerrequisitos Debes haber completado la lección de [plantillas HTML y enrutamiento](../1-template-route/README.md) de la aplicación web. También necesitas instalar [Node.js](https://nodejs.org) y [ejecutar la API del servidor](../api/README.md) localmente para poder enviar datos y crear cuentas. **Toma nota** Tendrás dos terminales ejecutándose al mismo tiempo, como se indica a continuación: 1. Para la aplicación bancaria principal que construimos en la lección de [plantillas HTML y enrutamiento](../1-template-route/README.md). 2. Para la [API del servidor de la aplicación bancaria](../api/README.md) que acabamos de configurar arriba. Necesitas que ambos servidores estén funcionando para seguir el resto de la lección. Están escuchando en diferentes puertos (puerto `3000` y puerto `5000`), por lo que todo debería funcionar correctamente. Puedes probar que el servidor está funcionando correctamente ejecutando este comando en una terminal: ```sh curl http://localhost:5000/api # -> should return "Bank API v1.0.0" as a result ``` --- ## Formulario y controles El elemento `