JavaScript HTML

Control de Visibilidad de Proyectos: Personalización de tu Portfolio

En el proyecto devlog-ist/landing, estamos trabajando en la capacidad de los usuarios para personalizar la visibilidad de sus proyectos. Esta funcionalidad permite a los usuarios tener un mayor control sobre qué proyectos se muestran en su página de estadísticas, ofreciendo una experiencia más personalizada.

El Problema

Anteriormente, todos los proyectos de un usuario se mostraban automáticamente en su página de estadísticas. Esto podía incluir proyectos antiguos, proyectos de prueba o proyectos que el usuario simplemente no quería destacar. No había una forma sencilla de controlar qué proyectos eran visibles y cuáles no.

La Solución

Implementamos una nueva funcionalidad que permite a los usuarios ocultar proyectos individuales de su página de estadísticas. Esto se logra a través de un modal en la configuración del portfolio. Los proyectos ocultos se filtran antes de calcular el top 10, asegurando que no ocupen lugares que podrían ser ocupados por proyectos visibles.

Detalles de la Implementación

  • Modal de Configuración: Se agregó un modal en la configuración del portfolio donde los usuarios pueden ver una lista de sus proyectos y alternar su visibilidad.
  • Filtrado de Proyectos: Antes de calcular el top 10 de proyectos, se aplica un filtro para excluir los proyectos que el usuario ha marcado como ocultos.
  • Persistencia: El estado de visibilidad de cada proyecto se guarda en la base de datos, asegurando que la configuración se mantenga entre sesiones.

Un ejemplo genérico de como el estado podria ser guardado:

class ProjectVisibilityService
{
    public function setVisibility(int $projectId, bool $isVisible): void
    {
        $appConfig = AppConfig::where('project_id', $projectId)->firstOrNew();
        $appConfig->is_visible = $isVisible;
        $appConfig->save();
    }

    public function getVisibleProjects(int $userId):
    {
        return Project::where('user_id', $userId)
            ->whereHas('appConfig', function ($query) {
                $query->where('is_visible', true);
            })
            ->get();
    }
}

El Impacto

Esta nueva funcionalidad ofrece varios beneficios:

  • Mayor Control: Los usuarios tienen un control total sobre qué proyectos se muestran en su página de estadísticas.
  • Experiencia Personalizada: Los usuarios pueden crear una experiencia más personalizada al destacar los proyectos que son más importantes para ellos.
  • Estadísticas Más Precisas: Al ocultar proyectos irrelevantes, las estadísticas reflejan mejor el trabajo actual y los logros más importantes del usuario.

Conclusión

La capacidad de controlar la visibilidad de los proyectos es una valiosa adición a devlog-ist/landing. Permite a los usuarios personalizar su experiencia y destacar los proyectos que son más importantes para ellos. Si estás buscando una forma de mejorar la presentación de tu portfolio, ¡prueba esta nueva funcionalidad!

Control de Visibilidad de Proyectos: Personalización de tu Portfolio
Gerardo Ruiz

Gerardo Ruiz

Author

Share: