Login y sesiones en un sitio web

En una aplicación web que solo los usuarios registrados pueden entrar hay un formulario para autenticarse. Normalmente se ingresa un nombre de usuario y una clave y en el servidor se valida su existencia.

Una vez que el usuario se ha autenticado puede navegar por todas las páginas del sitio. Es común que se incluya un botón o enlace para finalizar la sesión en el sitio web.

El objetivo de la aplicación que implementaremos es:

  • Mostrar un formulario de 'Login' que solicite el ingreso del nombre de usuario y clave.
  • En caso que el usuario no tenga una cuenta en el sitio le daremos la posibilidad de crear un usuario.
  • En el caso que ingrese correctamente el usuario y clave permitiremos que ingrese a la aplicación.
  • La aplicación principal del sitio será el 'Calendario de Eventos', concepto que vimos anteriormente. Lo nuevo a implementar es que el calendario será distinto para cada usuario que tenga una cuenta en el sitio.

Para el desarrollo de nuestra aplicación para administrar un calendario de eventos para distintos usuarios que se registran y autentican en el sitio web emplearemos:

  1. PHP (Comunicarse con MySql para recuperar y enviar datos de eventos del calendario, responder a las peticiones del navegador web, administrar usuario del calendario, administración de la sesión de usuario)

  2. MySql (Almacenamiento de eventos del calendario de cada usuario)

  3. HTML (Formulario del login, nuevo usuario y estructura de la página web donde se muestra la interfaz del calendario)

  4. CSS (Permitir mostrar los datos en forma legible)

  5. Bootstrap 4 (Librería de CSS que nos facilita implementar la interfaz visual de la aplicación y nos reduce el códico CSS a codificar)

  6. JavaScript (Interactuar con los datos en el navegador web)

  7. FullCalendar (Es un plug-in JavaScript que nos permite administrar un calendario y sus eventos, tiene vistas por mes, semana y día. Se debe agregarle toda la funcionalidad para agregar, borrar y modificar eventos. Debemos también codificar todos los algoritmos de comunicaciones con el servidor web para almacenar y recuperar eventos)

  8. ClockPicker (Es un plug-in JavaScript que nos muestra un reloj para la selección de una hora y minuto determinado)

  9. Moment.js (Es un librería de JavaScript que nos permite dar formato, validar, manipular y mostrar fechas y horas)

  10. JQuery (Acceder al DOM del navegador en forma sencilla)

  11. DataTables (plug-in de jQuery que implementar una interfaz muy rica para interacturar con los datos en el navegador y permite comunicarse con el servidor para recuperar datos)

  12. AJAX (Nos permitirá comunicarnos con el servidor para la recuperación y envío de datos, evitando tener que refrescar la página web)

  13. JSON (Será el formato de datos para enviar y recuperar datos de nuestro servidor)