This repository was archived by the owner on Jan 25, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Responsabilidades de cada módulo
Alejandro González Hevia edited this page Feb 17, 2021
·
5 revisions
| Nombre Componente | Responsabilidades |
|---|---|
| Cliente Web (Admin) | Login (ver que sea administrador) |
| Gestión de Posts: ver lista de posts potencialmente peligrosos, para cada post meter el flag de ocultar al público | |
| Gestión de usuarios: consultar datos y bloquear de la app | |
| Estadísticas: Número de usuarios registrados en las ultimas x horas, distribución de lenguajes entre los posts, estadísticas de conversaciones... | |
| Cliente Móvil (Usuarios) | Login (ver que sea 'usuario') |
| Crear cuenta: nombre completo, gustos (tags), email, contraseña, idioma/s que quiero aprender, idioma/s de los que soy nativo, fecha de nacimiento, avatar | |
| Personalizar cuenta (ver info de arriba) | |
| Buscar usuarios (filtros de nombre, edad e idiomas (puede ser un checkbox para que te devuelva usuarios que sepan los idiomas que quieres aprender)). | |
| EXTRA: En buscar usuarios, una opción de recomendaciones (llevaría crear un servicio nuevo que con neo4j haga recomendaciones) | |
| Desde la búsqueda de usuarios, ver el perfil de un usuario: aquí puedes ser sus datos, seguir, empezar un chat con él, y lista de posts (esto sería no tan importante). | |
| Mis conversaciones: Ver conversaciones que tienes activas, y al hacer click sobre una entras en esa conversacion | |
| Dentro de una conversación: en los mensajes del otro, funcionalidad para traducir el mensaje y text-to-speech | |
| Feed de posts: Ver los últimos posts de la gente que sigues, "recomendaciones" (sacar últimos posts de gente que sepan el idioma que estás aprendiendo) | |
| Dentro de la vista de un perfil, estaría bien meter estadísticas (número de posts, mensajes traducidos) | |
| Creación de posts: texto, se puede meter multimedia. | |
| Meter like in dislikes en cada post, comentarios y todo eso no hace falta. | |
| CLI | |
| Funcionalidad del cliente web admin por aquí | |
| Autenticacion | |
| Login (devuelve tokens) | |
| Gestionar roles (admin, usuario) | |
| Responder a peticiones para validar un token dado | |
| Usuarios | |
| "Registrar" usuario: mandar un mensaje al servicio de search para que lo indexe en ElasticSearch | |
| Actualizar datos de un usuario | |
| Bloquear a un usuario | |
| Búsqueda (por edad, idiomas) | |
| Posts | |
| Creación de posts: mandar un evento en la cola de kafka con el texto del post | |
| Dar like | |
| Actualizar posts: escuchar en la cola de kafka a que llegue información de los sistemas de NLP | |
| Borrado lógico (cambiar flag) | |
| Lista de posts seguidos | |
| Lista de posts "recomendados" | |
| Messages | |
| Obtener lista de mensajes entre 2 usuarios | |
| Enviar mensaje en una conversación | |
| Obtener conversaciones de un usuario | |
| Crear una conversación nueva | |
| Statistics | |
| Número registros en el último día | |
| Número de posts por lenguaje | |
| Uso de traducción de cada usuario | |
| Número de mensajes por usuario | |
| Número de posts por usuario | |
| Text to Speech | |
| Obtener audio a partir de un texto (con x idioma) | |
| Translation | |
| Traducir texto de x idioma a y | |
| Offensive text detection | |
| Detectar si el texto es potencialmente peligroso. Recibe los nuevos textos (posts en principio) de la cola de kafka y manda un mensaje a la cola con el resultado. | |
| Topic Modeling | |
| Extraer tópicos del día (le llega por la cola de kafka cada post y saca los tópicos, agrega resultados para el día) | |
| Language identification | |
| Detectar idioma de un texto |