Skip to content

Alexas1903/DEV004-social-network

 
 

Repository files navigation

Creando una Red Social


Colaboradoras :

Demo

Índice

1. Wanderlust

Definición:

Wanderlust es una red social de viajes donde los usuarios pueden compartir sus aventuras y descubrir nuevos destinos a través de la experiencia de otros viajeros. La aplicación utiliza la tecnología de Firebase para almacenar y recuperar datos de usuarios y publicaciones.

En Wanderlust , los usuarios pueden publicar sus experiencias de viaje y compartir fotos de lugares hermosos que hayan visitado. Además, cuenta con una sección de exploración donde los usuarios pueden ver todas las publicaciones e interactuar con otras publicaciones dando "Me gusta" , también tiene una función de edición para los usuarios que hayan publicado, lo que les permite editar sus publicaciones existentes o eliminarlas por completo.

Los objetivos generales de este proyecto son los siguientes:

  • Desarrollar una SPA con temática de red social
  • Aplicar los conceptos de responsividad en el desarrollo de las vistas (templates)
  • Implementar un router para la navegación entre las diferentes vistas de la aplicación
  • Emplear un servicio externo para la persistencia de datos de la aplicación
  • Crear una suite de pruebas unitarias que permitan testear código asíncrono

2. Resumen del proyecto

Encuesta

Realizar una encuesta nos ayudó mucho porque nos permitió obtener información valiosa sobre las necesidades y expectativas de los usuarios en relación a nuestra red social. Gracias a la encuesta, pudimos recopilar información sobre las características específicas que los usuarios esperaban de nuestra plataforma, su experiencia previa en otras redes sociales y la forma en que interactúan con estas plataformas.

Los resultados de la encuesta también nos ayudaron a definir el enfoque y la estrategia de nuestra red social. Pudimos identificar nuestro público objetivo, definir las características principales de la plataforma y establecer el tono y la voz de la marca. En resumen, la encuesta nos permitió crear una plataforma relevante y útil para los usuarios, reduciendo el riesgo de crear una red social que no tenga éxito debido a la falta de interés o necesidad por parte de los usuarios.

Objetivos :

El objetivo principal de Wanderlust, red social de viajes donde los usuarios pueden compartir sus aventuras y descubrir nuevos destinos a través de la experiencia de otros viajeros, es crear una comunidad de viajeros apasionados por explorar el mundo y compartir sus vivencias.

Principales usuarios :

Los principales usuarios de esta red social son las personas que disfrutan viajar, descubrir nuevas culturas y tener experiencias únicas. Wanderlust fue creado para personas de diferentes edades, géneros y nacionalidades, pero con una pasión compartida por los viajes.

Además, esta red social podría resultar especialmente atractiva para aquellos que buscan inspiración e ideas para planear sus próximos viajes, así como para aquellos que disfrutan compartiendo sus aventuras con otros y creando una comunidad en línea de viajeros entusiastas. También podrían ser usuarios aquellos que deseen encontrar recomendaciones y consejos de otros viajeros acerca de lugares para visitar, entre otros aspectos relacionados con los viajes.

Funcionalidad

  • Iniciar sesión con correo electrónico y contraseña o cuenta de Google.
  • Crear una publicación con texto y una imagen.
  • Editar y eliminar publicaciones propias.
  • Dar "like" y "dislike" a las publicaciones de otros usuarios.

3. Historias de usuario

Criterios de aceptación y definición de terminado

Diseño de la Interfaz de Usuario (prototipo de baja fidelidad)

Realizar el prototipo de baja del proyecto nos ayudó a visualizar y comprender mejor cómo sería la idea en la práctica. Al crear una maqueta o representación básica del diseño, se pudo evaluar su funcionalidad y hacer ajustes antes de comprometer con la construcción completa. También pudimos utilizar el prototipo de baja para obtener comentarios y opiniones de posibles usuarios finales. Sus sugerencias y observaciones nos permitieron mejorar y refinar el diseño antes de avanzar a la siguiente etapa del proyecto.

Responsive

4. Consideraciones del comportamiento de la interfaz de usuario (UI)

✔️ Creación de cuenta de usuario e inicio de sesión

  • Login con Firebase:
    • Para el login y las publicaciones en el muro puedes utilizar Firebase
    • Creación de cuenta de acceso y autenticación con cuenta de correo y contraseña, y también con una cuenta de Google.
  • Validaciones:
    • Solamente se permite el acceso a usuarios con cuentas válidas.
    • No pueden haber usuarios repetidos.
    • La cuenta de usuario debe ser un correo electrónico válido.
    • Lo que se escriba en el campo (input) de contraseña debe ser secreto.
  • Comportamiento:
    • Al enviarse el formulario de registro o inicio de sesión, debe validarse.
    • Si hay errores, se deben mostrar mensajes descriptivos para ayudar al usuario a corregirlos.

✔️ Muro/timeline

  • Validaciones:
    • Al publicar, se debe validar que exista contenido en el input.
  • Comportamiento:
    • Al recargar la aplicación, se debe verificar si el usuario está logueado antes de mostrar contenido.
    • Poder publicar un post.
    • Poder dar y quitar like a una publicación. Máximo uno por usuario.
    • Llevar un conteo de los likes.
    • Poder eliminar un post específico.
    • Pedir confirmación antes de eliminar un post.
    • Al dar click para editar un post, debe cambiar el texto por un input que permita editar el texto y luego guardar los cambios.
    • Al guardar los cambios debe cambiar de vuelta a un texto normal pero con la información editada.
    • Al recargar la página debo de poder ver los textos editados.

Pruebas unitarias (unit tests)

  • Recuerda que no hay un setup de tests definido, dependerá de la estructura de tu proyecto. Algo que no debes de olvidar es pensar en éstas pruebas, te pueden ayudar a definir la estructura y nomenclatura de tu lógica.

  • Los tests unitarios deben cubrir un mínimo del 70% de statements, functions, lines, y branches.

5. Consideraciones técnicas UX

✔️ Hacer seciones de testing de usabilidad con el producto en HTML. Cuando lanzamos nuestra red social, queríamos asegurarnos de que ofreciera una experiencia de alta calidad para nuestros usuarios. Por eso, realizamos pruebas rigurosas antes de cada lanzamiento de nuevas funcionalidades y actualizaciones. De esta manera, podemos identificar y corregir errores antes de que afecten a nuestros usuarios.

Además, las pruebas también nos han ayudado a identificar problemas específicos que pueden estar afectando la red social. Por ejemplo, si un gran número de usuarios experimenta problemas al cargar imágenes, podemos identificar la causa y trabajar en soluciones para corregir el problema lo más rápido posible.

Otro beneficio de las pruebas es que nos han permitido mejorar la eficiencia de la red social. Al identificar y corregir problemas de rendimiento, hemos logrado mejorar el tiempo de carga y la velocidad general de la red social, lo que es beneficioso tanto para nuestros usuarios como para nosotros.

Por último, las pruebas también nos han ayudado a planificar a largo plazo. Al recopilar información sobre cómo los usuarios interactúan con la red social, podemos identificar áreas que necesitan mejoras y desarrollar nuevas funcionalidades y características que satisfagan las necesidades de nuestros usuarios.

6. Objetivos de aprendizaje

HTML

CSS

Web APIs

JavaScript

  • Uso de linter (ESLINT)

  • Uso de identificadores descriptivos (Nomenclatura y Semántica)

  • Diferenciar entre expresiones (expressions) y sentencias (statements)

  • Callbacks

    Links

Control de Versiones (Git y GitHub)

  • Git: Instalación y configuración

  • Git: Control de versiones con git (init, clone, add, commit, status, push, pull, remote)

  • Git: Integración de cambios entre ramas (branch, checkout, fetch, merge, reset, rebase, tag)

  • GitHub: Creación de cuenta y repos, configuración de llaves SSH

  • GitHub: Despliegue con GitHub Pages

    Links

  • GitHub: Colaboración en Github (branches | forks | pull requests | code review | tags)

  • GitHub: Organización en Github (projects | issues | labels | milestones | releases)

Centrado en el usuario

  • Diseñar y desarrollar un producto o servicio poniendo a las usuarias en el centro

Diseño de producto

  • Crear prototipos de alta fidelidad que incluyan interacciones

  • Seguir los principios básicos de diseño visual

Investigación

Firebase

About

Tercer Proyecto

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 79.9%
  • CSS 18.8%
  • HTML 1.3%