Giter Club home page Giter Club logo

radtree's People

Watchers

 avatar  avatar  avatar

Forkers

devidence7

radtree's Issues

Búsqueda de usuarios

Deberíamos tener una búsqueda de usuarios para que los administradores puedan buscar participantes y convertirlos en creadores. Donde lo incluimos?

Fix columnas bootstrap del index

En la página de hay un punto cuando lo haces pequeño en el que el texto de las noticias hace overlap con las demás noticias, tener en cuenta las columnas de bootstrap según el tamaño

Funciones con varias operaciones en la BDD

Las funciones que tienen varias operaciones en la BDD deberian preparar primero todos los statements para luego ejecutarlos todos a la vez (si alguno falla, se revierte todo al estado inicial antes de ejecutar la funcion)

Terminar las barras superiores e inferiores

Falta decidir qué hacer con la barra de arriba (registrarse, iniciar sesion, redes sociales, logo de la web y categorías) y la barra de abajo (lo negro, con el logo y las columnas de "most popular") y aplicar los cambios a todas las paginas de la web

Logging de las diferentes actividades de usuario

Cada acción realizada por los usuarios que tenga repercusión en la base de datos (registrar usuario, iniciar sesión) podría ser almacenada en un fichero con un timestamp, de modo que si ocurre algún fallo al publicar la web podamos ver fácilmente qué lo ha causado

Vistas materializadas para la clasificacion

Una vez al dia se deberian crear vistas materializadas para guardar la info de la posición de cada jugador ordenado por puntos y numero de preguntas contestadas

No existen vistas materializadas en mysql, por lo que supongo que la mejor forma es crear una tabla clasificacion y cada dia dropear su contenido e insertar los resultados de un select

Basicamente como se hace en ejemplo de internet, ejecutar una vez al dia o como se decida:

DROP TABLE sales_mv;
CREATE TABLE sales_mv (
    product_name VARCHAR(128)  NOT NULL
  , price_sum    DECIMAL(10,2) NOT NULL
  , amount_sum   INT           NOT NULL
  , price_avg    FLOAT         NOT NULL
  , amount_avg   FLOAT         NOT NULL
  , sales_cnt    INT           NOT NULL
  , UNIQUE INDEX product (product_name)
);

INSERT INTO sales_mv
SELECT product_name
    , SUM(product_price), SUM(product_amount)
    , AVG(product_price), AVG(product_amount)
    , COUNT(*)
  FROM sales
GROUP BY product_name;

Pasar las páginas html a jsp con la funcionalidad necesaria

Para cada una:

  1. Guardar el html viejo en la carpeta html (sera temporal, pero es bueno tener una copia) y hacer una copia renombrandolo con otro nombre y .jsp
  2. IMPORTANTE: Si los acentos/ñ se ven mal, cambiar la codificación haciendo click derecho al jsp > properties y elegir UTF-8
  3. Hacer que el header y el footer sean incluidos con <%@ include file="WEB-INF/header.jsp" %> y <%@ include file="WEB-INF/footer.jsp" %>
  4. Cambiar el formato a UTF-8 con la linea <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> al comienzo de la página (comprobar que los acentos/ñ se ven bien antes de añadir esta línea!)
  5. Buscar todas las partes de la página donde tenga que haber contenido dinámico e incluirlo

Lista de páginas por hacer:

  • Header
  • Footer
  • Comentarios (falta mostrar quién comenta)
  • Registro
  • Inicio sesion
  • Olvido clave (por ahora no hacemos esto)
  • Cambiar clave (por ahora no hacemos esto)
  • Perfil (falta mostrar las insignias de administrador/etc)
  • Editar perfil
  • Quienes somos
  • Gestion contenido
  • Cola validacion
  • Crear noticia
  • Crear pregunta
  • Crear reto
  • Editar noticia
  • Editar pregunta
  • Editar reto
  • Lista de noticias
  • Noticia (falta subir el contador de visitas)
  • Lista de preguntas
  • Pregunta
  • Lista de reto
  • Reto (falta subir el contador de visitas)
  • Clasificacion
  • Error interno (no necesita)
  • Index

Fix footer: pasar de filtro a servlet

Actualmente el footer carga la información por un filtro (mal mapeado, por cierto). Se debería incluir los datos en la request pero en un servlet (que se ejecute en todas las webs)

Solución: crear un servlet (clase abstracta) que se encargue de hacer todos los includes de la info. de las noticias y que el resto de los servlets jsp extiendan a este y llamen a super()

Solución de errores menores

  • Añadir tilde en el apartado "clasificación" de la parte de arriba
  • Sustituir los iconos de los botones de Aprobar y Denegar de colaValidacion por otros no redondeados

Crear las vistas restantes

Queda crear vistas para las siguientes acciones (depende de como lo decidamos hacer pueden resultar mas o menos ficheros), pongo las que se me ocurren:

  • Añadir cartel (noticia/pregunta/reto)
  • Modificar cartel (noticia/pregunta/reto)
  • Validar cartel
    Las páginas de ver noticias/preguntas/retos tienen que tener una seccion de comentarios abajo (en newsbit habia una lista para copiar/pegar)
  • Listado de noticias
  • Ver noticia (+ noticias relacionadas, etc)
  • Listado de preguntas
  • Pregunta (individual, puedes responder, pasar, etc)
  • Listado de retos
  • Reto (individual)
  • Clasificación de usuarios por puntos de preguntas respondidas
  • Página de error interno general que permita volver al inicio
  • Página de "quienes somos"

Decidir cómo hacer la web para permitir añadir carteles, ver tus carteles subidos y editar esta información

Decidir que pueden hacer los administradores / creadores de contenidos (o como lo queramos llamar), segun el enunciado han de poder hacer esto:

Gestión de “Carteles”

  • Añadir un nuevo “cartel”
  • Seleccionar un “cartel” o equipo del listado de “carteles” ofrecidos por el sistema para obtener más información y datos sobre él, listar sus características y cualquier información que se tenga del mismo (opiniones, registro de actividad…)

Comprobar carácteres válidos en los formularios

Comprobaciones:

  • De tamaño/longitud (mínima y máxima)
  • Formato (alias, email, URL)

Para que una persona no pueda tener de alias "((((($$" por ejemplo

  • Registro
  • Crear noticia / editar (IMPORTANTE: asegurar que las URL empiecen por HTTP(s))
  • Crear pregunta / editar
  • Crear reto / editar

Mejoras menores para el sistema

Evitar acceso directo a los archivos jsp con un filtro

  • Done

Evitar acceso directo a los archivos jsp con un filtro

Botones para compartir en redes sociales

  • Done

Nota: por ahora enlace para copiar y compartir y ya

En la página de noticia, pregunta y reto podemos incluir botones para compartir en twitter u otras redes sociales

Lista infinita para noticias/preguntas/retos

  • Done

En lugar de mostrar solo los 30 primeros, ir mostrando más cada vez

Botón de borrar comentarios para administradores

  • Done

Al lado de responder, un botón para borrar el comentario

Recordar usuario de login con cookies

  • Done

Casilla "recordarme" al iniciar sesión que almacene en cookies el nombre

Permitir cambiar la contraseña/olvidar la contraseña con un email y validar el correo

  • Done

Nota: solo validacion de correo

Hay dos paginas html que por ahora no tienen funcionalidad, olvidocontraseña y cambiarcontraseña (04 y 05). Podemos hacer que si la olvida le envie al correo un enlace para restaurarla y de alguna forma autenticar al usuario (token almacenado en nueva tabla de la bdd) y permitir cambiar la password a partir de eso (previa verificación del correo?)

Además, si es correo unizar puede pasar a ser creador de contenido directamente

Permitir añadir foto de perfil (o para las noticias)

  • Done

Las fotos de perfil deberian ir guardadas en la carpeta images/profile/<idUsuario>.jpg o images/noticias/<idNoticia>.jpg

Enter Etags...
The absolute best way I've found to solve this is to use ETAGS inside a .htaccess file in your images directory. The following tells Apache to send a unique hash to the browser in the image file headers. This hash only ever changes when time the image file is modified and this change triggers the browser to reload the image the next time it is requested.

<FilesMatch ".(jpg|jpeg)$">
FileETag MTime Size

Crear los servlets restantes

Pasos para añadir un servlet:

  1. Añadir el fichero (nombreServlet)Servlet.java (con Servlet al final, ej: RegistroServlet.java) a src/sistinfo/servlets
  2. Modificar web.xml añadiendo un tag con el nombre y localización del fichero del servlet y otro tag relacionando el anterior nombre con la acción
  3. En el formulario (por ej) necesario, cambiar el atributo action
  4. Implementar los metodos doGet y doPost del servlet

Lista de páginas sin hacer (no todas tienen por qué necesitar servlets, marcarlas):

  • Registro
  • Inicio sesion
  • Cerrar sesion
  • Olvido clave (por ahora no lo hacemos)
  • Cambiar clave (por ahora no lo hacemos)
  • Perfil (no necesita)
  • Editar perfil
  • Quienes somos (no necesita)
  • Gestion contenido
  • Cola validacion
  • Crear noticia
  • Crear pregunta
  • Crear reto
  • Editar noticia (merge con crear)
  • Editar pregunta (merge con crear)
  • Editar reto (merge con crear)
  • Comentarios
  • Lista de noticias (no necesita)
  • Noticia (no necesita)
  • Lista de preguntas (no necesita)
  • Pregunta (responder)
  • Lista de reto (no necesita)
  • Reto (no necesita)
  • Clasificacion (no necesita)
  • Error interno (no necesita)
  • Index (no necesita)

Retoques finales para el nuevo servidor

  • Añadir imágenes para las noticias (1/2/3.jpg) (y fotos para los usuarios?)
  • Fix todos los links que lleven al index (jsp y servlet: cerrar sesion, etc)
  • Cambiar la lista de usuarios para que muestre 10 usuarios maximo en lugar de 1
  • Los filtros de usuario tienen mas padding que los de noticia
  • Modificar el filtro de redirect jsp para que afecte a toda la carpeta jsp (y common/etc)
  • Ampliar el menu superior en movil (registro/inicio, sociales)
  • Quitar padding para los filtros de busqueda en version movil
  • Quitar paginacion si no hay resultados de busqueda
  • Quitar olvide mi contraseña de inicio de sesion

  • Más margen para la paginacion
  • Redirect al borrar un comentario general y no solo para noticias

  • Cerrar conexiones a la BDD después de un tiempo
  • Al refrescar la página después de comentar, se vuelve a comentar
  • Limitar la subida de imagenes a imagenes cuadradas
  • Quitar subir img en crear noticia
  • Borrado de comentarios
  • Fix noticias no se pueden pulsar en firefox (añadir w-100 y h-100 al form y al button y ya)
  • Cambiar las contraseñas de tomcat y de los usuarios de test
  • Ver firefox
  • Actualizar documentación (ver si hay que entregarlo)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.