ROCÍO VILLALÓN ROCÍO V.

Legado Culinario

Diseño y desarrollo de un árbol genealógico donde registrar y almacenar recetas familiares.

[Link a la web]

Herramientas

  • React
  • Node.js
  • Express
  • Mongo DB
  • Cloudinary
  • Vercel
Imágenes del proyecto BioLink Imágenes del proyecto BioLink

Contexto

“¿Qué os apetece comer hoy?” “¿Se os antoja algo?” “No se me ocurre nada...” Son algunas de las frases recurrentes de mi padre en el día a día. Y cuando nos pregunta, el resto de la familia nos quedamos tan en blanco como él.


“¿Cuál era el truco para que quede la tortilla tan jugosa?” “¿Tienes por ahí la receta del pollo que hacía la abuela?” Son otras preguntas que solemos hacerle nosotros a él. Ya que hay millones de recetas en Internet, pero seguro que ninguna sabe igual que como lo hacía la abuela.

Legado Culinario

El reto

¿Cómo podríamos crear un árbol genealógico para registrar las recetas de cada miembro de una familia, de forma que estén accesibles para todos los familiares, y que a lo largo de las generaciones se pueda conservar y transmitir ese legado culinario.?

Solución


Tecnologías y arquitectura

El frontend está desarrollado con React y Vite, organizado en páginas (árbol, familias, colecciones, favoritos, perfil, receta...) y con la comunicación con la API centralizada en un único módulo. El backend es una API REST con Node.js y Express, con CORS configurado para permitir las peticiones desde el frontend, y los datos se guardan en MongoDB. Las imágenes se gestionan con Multer y Cloudinary, y todo el proyecto, frontend y backend, está desplegado en Vercel.

Imagen proyecto Legado Culinario

Autenticación y seguridad

El registro y el inicio de sesión funcionan de forma manual o con Google OAuth. Las contraseñas nunca se guardan en claro: se cifran con bcrypt antes de almacenarlas. Tras iniciar sesión, la API emite un token JWT (con jsonwebtoken) que el frontend envía en cada petición, y las rutas privadas lo verifican antes de responder. Se usa crypto para generar los tokens de las invitaciones.

Imagen proyecto Legado Culinario

Familias y árbol genealógico

Cualquier usuario puede crear una familia, sea o no miembro de ella. Dentro de cada familia se construye el árbol creando nuevos miembros a partir de otros ya existentes, y la aplicación calcula las relaciones de parentesco entre ellos. Es la parte más característica del proyecto y la que más lógica concentra.

Imagen proyecto Legado Culinario
Imagen proyecto Legado Culinario

Recetas, favoritos y colecciones

Las recetas se crean atribuidas a un miembro de la familia, con su propia página de detalle. Los usuarios pueden guardarlas como favoritas y organizarlas en colecciones propias. Hay además un buscador general sobre todas las familias y otro específico dentro de cada una.

Imagen proyecto Legado Culinario

Colaboración y compartir

Las familias, colecciones y recetas se pueden compartir mediante invitaciones. Además, un usuario real puede vincularse a un miembro del árbol y tomar el control de ese perfil, pudiendo editar igual que el resto de sus familiares. El sistema envía notificaciones cuando un familiar realiza acciones en la familia.

Imagen proyecto Legado Culinario