PHP JavaScript

Mejora del Widget de Feedback: Soporte para Subida de Múltiples Imágenes

Introducción

En el proyecto devlog-ist/landing, un proyecto enfocado en crear una landing page atractiva y funcional, hemos mejorado el widget de feedback para permitir a los usuarios adjuntar múltiples imágenes. Esta funcionalidad es crucial para obtener retroalimentación más precisa y visual por parte de los usuarios.

El Desafío

Anteriormente, los usuarios no podían adjuntar imágenes al enviar feedback. Esto limitaba la capacidad de comunicar problemas visuales o sugerencias de diseño de manera efectiva. El principal desafío era permitir la subida de múltiples imágenes sin comprometer el rendimiento y la seguridad de la aplicación.

La Solución

Implementamos la funcionalidad que permite a los usuarios adjuntar hasta 5 capturas de pantalla (con un tamaño máximo de 2 MB cada una) al enviar feedback. Las imágenes se almacenan en el disco público y se muestran en la vista FeedbackResource del administrador. Este es un ejemplo ilustrativo de cómo se podría manejar la subida de archivos en el backend:

class FeedbackController
{
    public function store(Request $request)
    {
        $request->validate([
            'comment' => 'required|string',
            'images' => 'array|max:5',
            'images.*' => 'image|mimes:jpeg,png,jpg|max:2048',
        ]);

        $feedback = Feedback::create(['comment' => $request->input('comment')]);

        if ($request->hasFile('images')) {
            foreach ($request->file('images') as $image) {
                $path = $image->store('feedback_images', 'public');
                $feedback->images()->create(['path' => $path]);
            }
        }

        return response()->json(['message' => 'Feedback submitted successfully'], 201);
    }
}

Decisiones Clave

  1. Límite de 5 imágenes: Se estableció un límite para evitar el abuso y optimizar el espacio de almacenamiento.
  2. Tamaño máximo de 2 MB por imagen: Para asegurar una carga rápida y evitar problemas de rendimiento.
  3. Almacenamiento en disco público: Facilita el acceso y la gestión de las imágenes.

Resultados

  • Mejora en la calidad del feedback recibido.
  • Mayor claridad en la comunicación de problemas visuales.
  • Facilitación del proceso de identificación y resolución de problemas por parte del equipo de desarrollo.

Lecciones Aprendidas

La implementación de esta funcionalidad nos enseñó la importancia de proporcionar a los usuarios las herramientas necesarias para comunicar sus ideas de manera efectiva. La capacidad de adjuntar imágenes ha mejorado significativamente la calidad del feedback y ha optimizado el proceso de desarrollo.

Mejora del Widget de Feedback: Soporte para Subida de Múltiples Imágenes
Gerardo Ruiz

Gerardo Ruiz

Author

Share: