Pular para o conteúdo principal

Roadmap for feature requests in ArtKoffee.

Main Roadmap

Roadmap for feature requests in ArtKoffee.

Reviewing

1

Under consideration

Planned

6

Committed and queued

Solicitações de recursos

Nuevo tipo de publicación (Char Profile/Chars)

Crear un nuevo tipo de publicación orientado a los Original Characters (OCs), adoptables, fursonas y personajes creados por los usuarios por medio de arte visual o algún programa de creación de personaje. Este tipo de publicación contendrá un diseño distinto de las publicaciones habituales, ya que este girará en torno a un personaje, su diseño adoptará similitud con la interfaz de los perfiles, incluyendo: Foto de perfil (PNG/JPEG, Max 7 MB). Nombre Edad (número) Campos personalizables (se pueden colocar gustos, ocupación, descripciones, etc. Max 1.500 caracteres cada uno. Max 30 campos). Lore (Texto libre con formateo en Markdown, Max 40.000 caracteres). Está a la venta (booleano). Precio (campo libre, sólo se muestra si “Está a la venta” es verdadero). Licencia de contenido (FOPU o CC). En los perfiles de los usuarios, se creará una nueva tab llamada “Chars” donde se encontrarán todas las publicaciones que tengan el formato Char Profile, diferenciando de los que están a la venta de los que no. Agregar filtros para separar estas dos variantes. En consecuencia, la tab “Tienda” dejará de ser un feed para mostrar publicaciones con el tag “product” y pasará a ser una tab donde se mostrarán directamente las opciones para solicitar una comisión, los Términos y Condiciones del artista y sus redes de contacto.

Zeuss
Solicitações de recursos

Agregar Moderación de Contenido Automático (Texto)

Al publicar un post, comentario (muro/post), contenido textual de perfil, contenido textual de chat o mensaje, el contenido textual de estos elementos deberá pasar por el análisis automático de un modelo de aprendizaje profundo dirigido a la moderación de contenido. Evaluará diversos atributos, sin embargo, sólo disparará un flag cuando detecte situaciones específicas. Acoso, amenazas y acoso amenazante: No disparará ningún flag ya que una acción de moderación contra este contenido solamente se hará presente con el reporte de un usuario que se vea afectado, teniendo en cuenta las limitaciones que el modelo tiene para identificar sarcasmo y de diferenciar insultos amistosos de insultos amenazantes. Discurso de odio y odio amenazante: Disparará un flag (unicamente en casos de confianza alta) que enviará un reporte automático a soporte con prioridad mínima, con la finalidad de que un humano revise que el contenido cumple con los lineamientos de la comunidad. Contenido ilícito: No disparará ningún flag debido a que este sistema busca priorizar el riesgo de un daño inmediato a alguien, una persona hablando sobre cómo evadir impuestos, por ejemplo, entraría en esta categoría. Contenido ilícito violento: Disparará una flag que se enviará de forma directa en formato de reporte automático con prioridad máxima a soporte, para que un ser humano lo revise y tome las medidas que crea necesarias. Una persona pidiendo o proporcionando información sobre cómo conseguir armas puede entrar en esta categoría. En caso de posts, el contenido se marcará de forma preventiva y automática como NSFW, ocultándose a menores de edad. Autolesiones e intento de autolesiones: Disparará una flag que se enviará en forma de reporte automático a soporte para revisión humana, y de la misma manera, mostrará al usuario una página especial que le redirigirá a recursos contra el suicidio. En caso de posts, el contenido se marcará de forma preventiva y automática como NSFW, ocultándose a menores de edad. Instrucciones para autolesiones: Disparará una flag que se enviará en forma de reporte automático con prioridad máxima a soporte para revisión humana, y de la misma manera, mostrará al usuario una página especial que le redirigirá a recursos contra el suicidio. En caso de posts, el contenido se marcará de forma preventiva y automática como NSFW, ocultándose a menores de edad. Contenido sexual: Disparará una flag que se enviará en forma de reporte automático con prioridad mínima a soporte para revisión humana, con la finalidad de verificar que el contenido no rompa los lineamientos de la comunidad acerca de contenido íntimo, revenge porn, NCII o solicitación de contenido explícito. En caso de posts, el contenido se marcará de forma preventiva y automática como NSFW, ocultándose a menores de edad. Contenido sexual envolviendo menores: Bloqueo automático del contenido, impidiendo que el usuario haga de ese contenido algo público. Paralelamente, se disparará una flag que se enviará en forma de reporte automático con prioridad máxima a soporte, con la finalidad de monitorear y moderar contenido que pueda vincularse a conductas que envuelven grooming, acoso sexual a menores, CSAM o pedofilia. Violencia/Contenido gráfico: Disparará una flag que se enviará en forma de reporte automático con prioridad mínima a soporte para revisión humana, con la finalidad de verificar que el contenido no rompa los lineamientos de la comunidad acerca de contenido perturbador, gore extremo, violencia ilícita, o contenido gore real. En caso de posts, el contenido se marcará de forma preventiva y automática como NSFW, ocultándo

Zeuss
Solicitações de recursos

Chats grupales

Vendrían siendo chats semipúblicos y de hecho funcionarían de la misma manera que un chat público, la única diferencia es que se puede acceder a ellos por medio de un código de invitación y son no visibles. Usuarios menores de edad no pueden entrar en chats grupales. No será posible borrar mensajes en chats grupales y habrá un sistema de reporte relámpago que envía la conversación completa a revisión junto con snapshot.

Zeuss
Solicitações de recursos

Packs de Stickers

Podría aplicarse la siguiente lógica: Creación de packs de stickers con una lista de imágenes luego almacenadas en formato .webp que funcionen como stickers. Usuarios pueden agregar esos packs de stickers a sus perfiles. Podrá ser posible utilizar esos stickers, adjuntándolos en lugares como: comentarios en posts/perfiles y mensajes en chats. Usuarios podrán intentar crear sus packs de stickers con contenido propio y enviarlo a análisis para ver si puede ser aprobado para uso público.

Zeuss
Solicitações de recursos

Aplicación de diferentes tipos de feeds.

Teniendo en vista que el feed para blogs ha sido implementado, se hacen necesarias las siguientes implementaciones y aplicaciones: Feed de productos, es decir, publicaciones que contienen la etiqueta “shop”, que identifica publicaciones de comisiones, ventas, productos, etc. Feed de anuncios oficiales, es decir, cualquier blog que esté hecho por la cuenta oficial de ArtKoffee. ✅

Zeuss
Solicitações de recursos

Incorporar a lógica dos criadores oficiais

Adicionar as ferramentas e funcionalidades relacionadas ao programa de Criadores Oficiais, que incluem, entre outras: Links de indicação monetizados para ganhar dinheiro ou benefícios a cada cadastro no ArtKoffee por meio desse link de indicação. Possibilidade de monetizar publicações (receber presentes de outros usuários; os presentes consistem em assistir a um anúncio, e a totalidade dos ganhos desse anúncio será destinada ao artista em questão). Emblema ou crachá de Criador Verificado. Visibilidade privilegiada e prioridade no feed. Acesso a um Discord oficial dos criadores.

Zeuss

In Progress

3

Actively being built

Solicitações de recursos

Suit de reportes de bugs, rediseños y funcionalidades

Al recibir feedback de los usuarios, se ha determinado que se necesitan solucionar los siguientes bugs, aplicar los siguientes rediseños y agregar las siguientes funcionalidades: REDISEÑO- Remover los parpadeos en los chats cada vez que se actualizan. Sólo dejar el fade-in fluido al iniciar la carga de los mensajes. REDISEÑO- Agregar animaciones en los chats, durante la carga, envío, recepción y selección de mensajes. REDISEÑO- En la página de chats, facilitar el acceso a chats donde el usuario ya está dentro, en un diseño similar al list group para mayor familiaridad. El diseño de cards se puede dejar para la tab explore y la tab de chats destacados. La tab Mis Chats debe estar mostrada de forma principal como lista de chats o un empty state caso el usuario no esté en ningún chat. Debajo de esta categoría, los chats destacados, y en una tab aparte la categoria Explore, dejando un total de 2 tabs. BUG- Se incluye en el contexto del usuario que él mismo está escribiendo en los chats cuando 2 personas o más están escribiendo, cuando al usuario se le debería mostrar sólo si usuarios ajenos a su contexto están escribiendo, sin incluirse él mismo. REDISEÑO- Mover los botones que abren los menús para ver la lista de chats y la lista de miembros, pues las etiquetas laterales obstruyen la visión del chat. Aplicar menús full-width similares a la descripción del chat en dispositivos moviles y también la lógica que hace que al dar en el botón de back el menú se cierre en vez de ir a la página anterior. FUNCIONALIDAD- Agregar que se pueda ver quienes reaccionaron a un mensaje, con la opción de “Ver reacciones” en el menú de opciones de un mensaje. BUG- Glitch visual después de disparar la animación de confetti en los posts, poniendo cuadros blancos en las partes donde la animación aparece y luego las actualizaciones de animaciones (como el scroll) se glitchean de la misma forma. FUNCIONALIDAD- Tab en el perfil solo visible para el usuario actual que permita ver a los usuarios que visualizaron el perfil del usuario actual. BUG- Las respuestas a comentarios en el muro no se notifican. BUG CRÍTICO- Caída drástica de desempeño con el percurso de escritura de un post. FUNCIONALIDAD- Agregar el anexo de imágenes y stickers en los comentarios (posts y perfiles). ADICIÓN- Agregar más colores para el perfil. REDISEÑO- Back button en los posts. REDISEÑO- Que el avatar sea botón directo al perfil desde las notificaciones.

Zeuss
Solicitações de recursos

Ampliar la personalización de los perfiles.

Actualmente, los perfiles de ArtKoffee ofrecen una personalización limitada, definida por los siguientes atributos: Avatar, banner, nickname, bio corta, links, theme de color (vainilla, fresa o chocolate). Mostrar edad, ubicación y pronombres. Biografía larga, podiendo formatearse con Markdown. Para poder ofrecer una experiencia más personal, de modo que cada perfil sea el rincón propio de cada usuario, se hace necesaria la ampliación de las funcionalidades que permiten la personalización de los perfiles y los elementos que los conforman: Un fondo personalizado, definido como una imagen WEBP para carga rápida. Decoración de avatar. Decoración de banner. Incrustación de widget de Spotify para reproducción de música. Estado de ánimo (mood). Atributos personalizados (max 1), con un nombre y un valor, puede ser el programa de dibujo que usa, tipo de arte que hace, etc. Agregar más themes de perfil (y una funcionalidad para personalizar el color).

Zeuss
Solicitações de recursos

Implementación de mejoras en notificaciones.

Las notificaciones tienen un sistema bastante robusto, sin embargo, se tiene planificado que las notificaciones posean las siguientes adiciones: Notificaciones de mensajes en chats a los miembros de ese mismo chat, exceptuando quienes tienen ese tipo de notificaciones desactivadas. ✅ Funcionalidad para recibir notificaciones de publicaciones de un usuario en específico.

Zeuss

Done

19

Recently shipped

Solicitações de recursos

Otimizar a maioria dos endpoints.

Após um teste de carga no site, constatou-se que é necessária uma otimização das consultas ao banco de dados. Isso exigirá uma ampla reestruturação para redefinir muitos métodos no código, o que levará algum tempo. Espera-se que algumas páginas passem de um tempo de carregamento de 15 a 30 s para 2 a 6 s. Isso também permitirá a escalabilidade sem que o sistema trave gravemente, como observado nos testes de carga (+1m). Endpoints a serem otimizados: /home (crítico) /settings/* /profile/ (crítico) /post/ /chat e /chat/* Essa otimização pode e vai implicar na utilização de endpoints de API para a obtenção de dados quando a página já estiver carregada, e não durante a renderização da página, como está sendo feito no Jinja.

Zeuss
Solicitações de recursos

Criar a página de administração do artkoffee

A página de administração do ArtKoffee é utilizada exclusivamente para a visualização de informações sobre o ArtKoffee, registros de desenvolvimento, medidas administrativas do site, ações de moderação e gerenciamento de tickets de relatórios. A página está em desenvolvimento.

Zeuss
Solicitações de recursos

Reacciones en Chats

Mientras el crecimiento de los chats se hace evidente, se hacen más necesarios medios por los cuáles los usuarios pueden expresarse. En ese sentido, se va a aplicar una modalidad de reacciones a mensajes con emojis. Apesar de que serán sólo emojis por ahora, la lógica se construirá para en el futuro incluir emojis personalizados con :iddeemoji:. Por eso, se guardará en la base de datos la lista completa de emojis con sus :id: y los archivos visuales que contienen el emoji en cuestión. Cuando un usuario mantenga presionado un mensaje, en el popup de opciones se incluirá 5 opciones de emojis para reaccionar y un “+” que al tocarlo abrirá un nuevo popup donde se mostrarán todos los emojis con sus imágenes cargadas, extraídos de la base de datos koffeeDatabase[“emojis”]. Crear todas las keys y values con los id y las imagenes (SVG) de los emojis correspondientes (los de Twemoji). Actualizar la reacción para todos los usuarios sin notificar a nadie más que el usuario autor del mensaje al que se reaccionó.

Zeuss
Solicitações de recursos

[CRITICO] Cuello de botella en toda la infraestructura.

Se ha identificado un aumento en el tiempo de carga de todas las páginas en general, enfatizando en los endpoints que tienen varias consultas a la base de datos. Investigar la causa raíz de estos cuellos de botella, mitigarlos, aplicar una solución técnica y testear con una prueba de estrés de tráfico. Resultado de la investigación: El cuello de botella proviene de las consultas a MongoDB. Debido a que ArtKoffee utiliza el tier M0 de MongoDB (lo cuál significa que usa RAM-Shared y CPU-Shared, generando efecto de vecino ruidoso) las consultas comienzan a tardar cada vez más dependiendo del uso de los demás servicios del mismo servidor de base de datos, generando que en endpoints con muchas consultas llegue a tardar hasta 46 segundos de carga. Mitigación: Optimización de la clase MongoDBShelf en el código haciendo un Proxy perezoso que hace consultas puntuales y solo llama a una colección completa cuando llama a métodos globales. Además, optimizar endpoints específicos que utilizan una gran cantidad de datos. El resultado es una disminución del 89,13% en el tiempo de carga de estos endpoints, con un umbral de 1s a 5s, y de menos de un segundo en endpoints de búsqueda y obtención de datos. Sin embargo, 5 segundos aún es mucho tiempo. Solución técnica: Pagar el tier M10 de MongoDB, sin embargo, por la falta de recursos, sale más sencillo y barato realizar una mudanza de los datos a una base de datos no relacional con más rapidez de consultas, se tiene a Redis como alternativa. Es considerada una solución a mediano plazo. En proceso.

Zeuss
Solicitações de recursos

Unificar interacciones de posts.

Actualmente, los posts tienen 2 tipos de interacciones: likes y beats. Con el pasar del tiempo, se hizo evidente que esta subdivisión de interacciones no tenía mucho sentido si no había gran diferencia entre ellas, y por medio de estudios empíricos de las interacciones en los posts, se detectó que la interacción más utilizada es la de beats. Teniendo esto en cuenta, se debe hacer una mudanza en la que las interacciones de likes y beats se unifiquen de forma idempotente en una sola, que conserve las características de los beats.

Zeuss
Solicitações de recursos

[CRÍTICO] Investigar caídas de desempeño y lag en determinadas páginas

Recientemente, se ha notado que algunos endpoints HTML han desatado caídas de desempeño y problemas de lag en ciertos dispositivos con un poder de procesamiento menor. Esto afecta directamente el uso y la calidad de la experiencia del usuario. En ese sentido, se hace necesario investigar qué provoca esta caída de desempeño y tomar las medidas necesarias para hacer de estos endpoints lo más optimos posible. Endpoints con problemas: /home, /post-drawing, /settings, /post/. Se sospecha que el efecto de backdrop-blur de algunos containers está afectando el procesamiento.

Zeuss
Solicitações de recursos

Agregar una manera más visual de reordenar los posts destacados.

Actualmente, la manera de reordenar los posts destacados se define en sustituir posts viejos por nuevos. Pero recientemente, ha surgido la necesidad de reordenar este contenido de modo que no se haga necesario quitarle el lugar a un post destacado en detrimento de otro, sólo modificar el orden en el que están hechos. Para esto, debe crearse una nueva interfaz en ArtKoffee Atlas que permita reordenar los posts destacados de forma visual e intuitiva, arrastrando elementos donde los primeros lugares son los primeros a verse en el feed destacado y los últimos lugares son todo lo contrario, con una vista previa para visualizar cómo será el resultado final y luego una opción para guardar esos cambios.

Zeuss
Solicitações de recursos

Página para miembros nuevos

Después de la creación de una cuenta, debería ser posible ver una pantalla en la que se le da la bienvenida al usuario, se le muestra las principales funciones de ArtKoffee, se le da la posibilidad de likear posts y seguir usuarios desde allí y finalmente finaliza con el flujo con una lluvia de confetti con un mensaje conclusivo. La pantalla de selección de idioma y la de verificación de edad deben tener prioridad por encima de la pantalla de bienvenida. Al finalizar el flujo, se guarda en la base de datos un registro que indica que el usuario ya finalizó este flujo, con la finalidad de que no se muestre más de una vez al mismo usuario y conserve la idempotencia. Cosas por arreglar: La página se muestra incluso con el registro en la base de datos. ✅ Errores con arrastre, desactivarlo y dejarlo sólo para botón de continuar y atrás. ✅ Desactivar el scroll del body una vez es abierto, pues un arrastre hacia la parte superior puede reiniciar la página sin querer. ✅ Mejorar bastante el diseño y hacer algo más atractivo. ✅ Agregar animaciones y una de confetti al final del flujo. ✅

Zeuss
Solicitações de recursos

Panel para gestionar comisiones

Ahora es posible contactar con un artista para solicitar una comisión. Sin embargo, al solicitar una vez, no puedes hacer otra solicitud mientras el estado de tu anterior solicitud se mantenga en “pending”. En ese sentido, se hace necesario un panel de gestión que permita que el usuario artista pueda alterar el estado de sus solicitudes a voluntad, entre los siguientes: pending: pendiente, aún no termina la comisión, bloquea nuevas solicitudes. completed: completada, la comisión fué terminada, se pueden enviar nuevas solicitudes. cancelled: cancelada, la comisión no fué aceptada, se pueden enviar nuevas solicitudes. blocked: bloqueada, la comisión no fué aceptada y el usuario ya no puede solicitar más comisiones a este artista. De la misma manera, en el mismo panel, se deberían poder mostrar las comisiones que el usuario hizo a otros artistas, de esta manera, una comisión sólo se marcará como completed si ambas partes lo marcan así. Se pueden mostrar estadísticas de comisiones completadas en el perfil, sin embargo, se tiene que pensar a futuro en una funcionalidad para evitar el abuso y el aumento artificial del número de comisiones completadas.

Zeuss
Solicitações de recursos

Mejoras de usabilidad en el sistema de seguridad.

El sistema inteligente de seguridad que aprende de las sesiones que suele tener el usuario consiste en el constante almacenamiento de rangos de IP a los que suele acceder el usuario y su renovación cuando la IP cambia, obligando a reloggear para verificar. Este sistema es perfecto para usuarios que utilizan redes WiFi residenciales pues casi nunca les dará problemas, sin embargo una enorme parte de la población utiliza también datos móviles, que aplican una constante rotatividad en la dirección IP del utilizador, lo que hace que en ArtKoffee se traduzca en logouts constantes para quienes acceden a ArtKoffee usando datos. Debe encontrarse una manera de mejorar la usabilidad sin sacrificar la seguridad, de esa manera, reducir al menos un 40% los logouts constantes de los usuarios en general y sustituir la seguridad sacrificada por otros métodos igual de seguros y menos molestos.

Zeuss