Acerca de...

    FOROS
  • Se añadirá un botón para subir imágenes.
  • Se añadirán 2 columnas en la tabla de foros: una con un icono indicativo para cada tema y la columna "Último mensaje"
    ESTÉTICA
  • Se harán unos banners de permisos y rangos de usuario como dios manda.
  • Se añadirá una animación de confetti y una ventana emergente cuando un usuario suba de rango o consiga uno especial.
  • Se mejorará la estética del email de verificación al crear una cuenta de usuario.
  • Se añadirá un botón de modo oscuro en toda la web, y no solo en las lecturas (y recordará tu elección si lo pulsaste).
    OTROS
  • Se añadirá la posibilidad de restaurar el avatar por defecto.
  • Se añadirá la función de mandar mensajes privados entre usuarios.
  • Se eliminará jQuery en beneficio de usar JavaScript vanilla para optimizar la web.
  • Se cambiará el botón básico de mandarme un email por un formulario de contacto.
  • Posibilidad de hacerse usuario VIP con sus correspondientes ventajas.
  • Se añadirán botones en cada novela para poder descargarlas en formato PDF y EPUB.
  • Se añadirá una mecánica mediante la cual con el tiempo los logros se ensuciarán y habrá que frotar para limpiarlos (idea cogida del Pokemon Platino).
  • Se añadirá una nueva sección llamada "Galería" que incluirá mis tonos de llamada, de mensajes, mis inventos y memes... y botones para descargar o compartir de forma rápida.
  • La web recordará en qué capítulo te quedaste y así, al volver a la lectura de una novela, automáticamente te reconducirá a ese capítulo, ocultando el resto. Y al final de cada capítulo aparecerá un botón que te llevará al siguiente, salvo en el último, que será un botón para ir al foro específico de esa novela por si quisieras dejar algún comentario.

Lenguajes:


HTML

CSS

PHP

MySQL

JavaScript

Librerías:

Y demás fragmentos de código de diversas fuentes de terceros.

Las imágenes de esta aplicación web son propiedad de sus correspondientes autores/as.

    Julio de 2021:
  • Ejecutada una auditoría de seguridad.
  • Añadida la función bindParam() a todas las consultas a la base de datos para evitar inyecciones SQL.
  • Añadidos parámetros secure y httpOnly a todas las cookies para evitar ataques XSS.
  • Creada una función con la ídem htmlspecialchars() y su parámetro ENT_QUOTES y aplicada a todas las entradas de datos por parte de los usuarios y a IDs pasados por GET para evitar ataques XSS (el formateo de texto para los mensajes del foro sigue funcinando gracias a unos apaños en el código ;).
  • Aumentado el control de errores en varias entradas de datos de los usuarios y también el feedback en varias consultas a la BD.
  • Añadida la función mime_content_type() a la verificación de subida de avatares para evitar subidas malintencionadas de ficheros.

  • Aprendido el fucionamiento sobre el archivo .htaccess, así que se ha creado y usado para:
    • Eliminar archivos index.php repetidos en cada carpeta y sustituirlos por el parámetro Options All -Indexes
    • Crear páginas personalizadas para los errores 301, 400, 401, 403, 404 y 500.
    • Autoproteger el acceso al archivo .htaccess
    • Crear URLs amigables (especial interés en esto).

  • Clase de Bootstrap alert-danger aplicada a los mensajes de error y alert-success a los mensajes afirmativos informativos.
  • Creada una función para automatizar los mensajes de error y reducir código.
  • Calidad de iconos, logos y banderas mejorada.
  • Descripciones simples de banderas y símbolos con solo un title cambiadas a popovers.
  • Registro de usuarios simplificado: ahora solo se han de introducir los datos obligatorios. Los datos opcionales se podrán añadir después en el panel de control.
  • Ahora todas las secciones del panel de control de usuario están unificadas y, al aplicar cambios, en vez de redirigir a tu perfil se recarga el panel con un mensaje informativo de que los cambios se aplicaron correctamente.
  • Añadidos 3 easter eggs.
  • Añadido a los perfiles de usuario el dato de la fecha de registro.
  • Añadido un sistema de logros.
  • Fichas de perfil rediseñadas para que sean más mobile-friendly.
  • Añadido un sistema para que los administradores puedan poner el sitio en "Modo de mantenimiento", de forma que solo la portada y las fichas de perfil estarán disponibles (idea cogida de Joomla).
  • Añadido el requisito de introducir la contraseña actual para poder cambiarla.
  • Optimizado el proceso de establecer y restablecer tu contraseña.
  • Aumentada la seguridad mediante el inicio y el cierre de sesión: cada vez que se ejecuta alguno de los 2 procesos, cambia la nueva cookie alfanumérica y aleatoria token, de forma que el clonado de cookies ya no servirá para robar sesiones. También cambia de cada vez el código personal del usuario de recuperación de contraseña.
  • Reducción de código.

  • Abril de 2021:
  • Desde el verano de 2020: sitio web convertido a app web.
  • Versión 2.0 de la web publicada.

  • Febrero de 2021:
  • Bootstrap (en adelante BS) aprendido y añadido, y por ende, eliminación de gran parte de código CSS (reducido en más de un 80%) y algunos archivos PHP, así como múltiples cambios en el HTML.
  • Estética general (cuerpo de páginas, colores, fuentes, botones...) cambiados a los que ofrece BS.
  • Menú móvil (v3) convertido para usar las clases de BS.
  • Nuevo sistema responsive gracias a BS.

  • Verano de 2020
  • Realizado un curso de PHP de 30 horas.
  • Realizado un curso de JavaScript de 25 horas.

  • Añadida una base de datos para usuarios, novelas, vídeos y foros.
  • Creado un registro de usuarios, inicio y cierre de sesión, perfil, panel de control... Y posibilidad de ser usuario VIP.
  • Datos del formulario de registro y modificación de los datos de usuario en su panel de control validados en cliente y servidor.
  • Comprobación de disponibilidad del usuario y del email del registro (datos obligatorios) en tiempo real mediante AJAX, al igual que la verificación sobre la validez y fuerza de la contraseña.
  • Registro de usuarios con verificación por email para mayor seguridad. Y añadida la obligación de las 3 preguntas y respuestas de seguridad para recuperar la cuenta.
  • Aviso de cookies añadido gracias a jQuery.
  • Automatizada la exposición de novelas y vídeos gracias a la BD.
  • Botón de “volver arriba” cambiado por uno con efecto scroll gracias a jQuery.
  • Menú móvil arcaico (v1) convertido a uno (v2) hecho con la función slideToggle() de jQuery.
  • Añadido en portada un banner con una frase aleatoria gracias a un array, count() y rand() de PHP.
  • Función de seguridad en PHP añadida a las páginas privadas de gestión del sitio web. Primero comprueba si existen las cookies pertinentes de inicio de sesión y acto seguido compara sus valores con los almacenados en la BD del usuario en cuestión.
  • Subpáginas innecesarias eliminadas y añadidas a las suyas principales mediante PHP usando $_GET o jQuery (show() y hide()) según correspondiera. De esta forma también se han podido encapsular las funciones de esas “subpáginas” (private) aumentando aún más la seguridad.

  • Resumiendo... A mí la cuarentena me vino como anillo al dedo, todo sea dicho.

    Abril de 2020 (cuarentena por el coronavirus)
  • Aprendidos algunos conocimientos más de PHP en 2º de ASIR.
  • Año del pie de la web automatizado usando date(“Y”).
  • Versión 1.0.1.1 del sitio web publicada.

  • Diciembre de 2019
  • Aprendida parte de la base de PHP en 2º de ASIR.
  • Código repetido eliminado, ahora pasado a archivos externos e incluidos con la función require_once().
  • Versión 1.0.1 del sitio web publicada.

  • Julio de 2019
  • Aprendidos conocimientos de HTML y CSS en 1º de ASIR; primera versión de este sitio web creada.
  • Web con código repetido que es común a varias páginas.
  • Pie de página con el año puesto manualmente.
  • Botón de “volver arriba” con un href=#top.
  • Secciones de novelas y vídeos con todo su contenido puesto a piñón, sin automatizar, sin BD.
  • Web responsive gracias a secciones CSS @media (con las resoluciones especificadas a mano)
  • Menú móvil (v1) desplegable hecho con un checkbox, un label y estilos usando la pseudo-clase :checked.
  • Versión 1.0 del sitio web publicada.

Nada de eso; esta web está hecha toda a mano (teniendo en cuenta librerías como jQuery, Bootstrap... etc.). ¿Y por qué? Porque quise empezar esta web en el año 2019, cuando acababa de dar mis primeros pasos en diseño web, y en ese momento solo sabía HTML y CSS. Fue después cuando fui aprendiendo cada vez más (proceso explicado en el apartado anterior) y entonces comencé a aplicar cambios poco a poco, pero todo lo que se ve actualmente han sido casi 2 años de esfuerzo, prueba y error.

Además, hacer una app web con todo a mano, backend y frontend, tiene su mérito: hay que hacer la seguridad contra robo de datos, acceso a zonas restringidas, modificaciones... Todo lo que he aprendido peleándome con los lenguajes no me lo quita nadie.

Mis más sinceros agradecimientos a:

jerat
Serana
Exa
Hunter
TFujiwara
Liron
Anárion
Hopeless

por sus consejos y aportaciones para la web :)

Compartir en...