[Backend] Otimizar banco de dados

Abierto
#86 0 comentarios 0 reacciones 1 asignado Ver en GitHub

Los mantenedores suelen responder en 1 día

@CLQueirozz ya está trabajando en esto.

Desde el 9/11/2026.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Refactorización
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
postgresql, python

Línea de trabajo

Start by inspecting the database table definitions and pagination routes, then check how asyncpg handles UUID columns and how the RAWG API supplies tag IDs. The issue names UUID columns for users, reviews, and lists, missing pagination indexes, and auto-incrementing tag IDs as examples to investigate. Done means identifying and correcting these inconsistencies and other database choices that impair backend performance; the issue does not specify exact files or tests.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

Tem algumas partes das nossas tabelas de dados que estão "desatualizadas" em relação às regras de negócio do backend, ou então poderiam usar melhor as ferramentas disponíveis para postgres.

Alguns exemplos:

  • Os ids de user, review e list, que estão todos no formato uuid, são declarados como varchar(36) nas tabelas, mas existem jeitos mais otimizados do postgres e do asyncpg (biblioteca do python que usamos para codar em postgres) lidarem com uuid (vale uma pesquisa sobre como ajeitar isso)

  • Para as rotas de paginação ficarem mais rápidas, é necessário criar mais indices auxiliares que permitem buscas mais diretas sobre os dados. Criar mais índices significa que inserção, atualização e deleção ficam mais devagar (dá pra ver isso na prática porque os testes de follow/block, que já tem índices, rodam bem mais lentamente do que os de lista, que ainda não tem indices), mas como o gamerboxd é para ser uma "rede social", nós devemos trabalhar com o princípio que os usuários consomem (rotas get) muito mais conteúdo do que eles criam/alteram (rotas post, put, delete).

  • Na tabela de tags, os ids são números inteiros auto incrementados, mas na verdade esses ids devem vir da rawg api (a api já tem definido qual valor corresponde a qual tag), então auto incrementar eles não faz muito sentido porque vamos essencialmente copiar os pares id - valor da API

Busque corrigir essas inconsistências e achar outras que também podem estar comprometendo o desempenho do backend.

Lenguaje dominante
JavaScript
Estrellas
1
Forks
0
Merge medio
17 h 39 min
PR fusionados (30 d)
4

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de USPCodeLabSanca/Gamerboxd

Todos los issues de USPCodeLabSanca/Gamerboxd

Issues similares

Más issues de JavaScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.