This repository has been 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 |