Lección 21 · 5 min · Gratis

Construye Briefo: Un Lector de Noticias Personalizado con IA

Briefo te ofrece un feed de noticias personalizado y generado por IA, junto con análisis profundos de empresas. Los lectores pueden seguir noticias de última hora, solicitar análisis financieros bajo demanda y discutir ideas con amigos, todo en una experiencia móvil impulsada por la API Sonar de Perplexity.

Características

Briefo está diseñado para ser una herramienta completa para el consumo de noticias y análisis financiero, ofreciendo una variedad de funcionalidades clave:

  • Feed de noticias personalizado en 17 categorías con resúmenes de IA y enlaces a las fuentes. Esta característica asegura que siempre veas contenido relevante para tus intereses.
  • Hilos privados y públicos para la discusión y el intercambio de artículos. Fomenta la interacción y el debate entre los usuarios.
  • Lista de seguimiento con instantáneas del mercado en tiempo real y análisis opcionales de IA. Mantente al tanto de tus inversiones y recibe información valiosa.
  • Informes de investigación profundos generados sobre 12 criterios seleccionables como gestión, competidores y valoración. Obtén análisis detallados sobre cualquier empresa.
  • Asistente de chat de propósito general que recuerda los temas preferidos de cada usuario. Para una experiencia más personalizada y eficiente.

Prerrequisitos

Para poder instalar y ejecutar Briefo, asegúrate de tener los siguientes componentes en tu entorno de desarrollo:

  • Node 18 LTS o más reciente. Node.js es el entorno de ejecución de JavaScript necesario para el proyecto.
  • npm, Yarn o pnpm. Estos son gestores de paquetes que te permitirán instalar las dependencias del proyecto.
  • Expo CLI (npm i -g expo-cli). Expo CLI es una herramienta esencial para el desarrollo de aplicaciones React Native con Expo.
  • Supabase CLI 1.0 o más reciente para emulación local y despliegues de Edge Functions. Supabase CLI te permitirá interactuar con tu base de datos Supabase y desplegar funciones.

Instalación

Para comenzar con la instalación de Briefo, primero clona el repositorio de GitHub. Este comando descargará todo el código fuente del proyecto a tu máquina local.

git clone https://github.com/adamblackman/briefo-public.git
cd briefo-public
npm install

Una vez que hayas clonado el repositorio, navega al directorio del proyecto e instala las dependencias usando tu gestor de paquetes preferido (npm, Yarn o pnpm). Esto descargará todas las librerías y módulos necesarios para que la aplicación funcione correctamente.

Variables de entorno

Antes de ejecutar la aplicación, es crucial configurar tus variables de entorno. Estas variables contienen información sensible como claves de API y configuraciones de servicio. Crea un archivo .env en la raíz del proyecto y añade las siguientes variables, reemplazando los valores de ejemplo con tus propias claves y configuraciones. Asegúrate de obtener tus claves de API de los servicios correspondientes (Perplexity, Supabase, etc.).

# .env              (project root)
MY_SUPABASE_URL=https://<project>.supabase.co
MY_SUPABASE_SERVICE_ROLE_KEY=...
PERPLEXITY_API_KEY=...
LINKPREVIEW_API_KEY=...
ALPACA_API_KEY=...
ALPACA_SECRET_KEY=...

# .env.local        (inside supabase/)
# duplicate or override any secrets needed by Edge Functions

Uso

Una vez que hayas configurado tus variables de entorno, puedes iniciar el servidor de desarrollo de Expo. Este comando compilará tu aplicación y la ejecutará en un emulador o dispositivo físico, permitiéndote ver los cambios en tiempo real.

npx expo start

Cuando estés listo para desplegar tus Edge Functions, utiliza el siguiente comando. Las Edge Functions son funciones sin servidor que se ejecutan en la red de Supabase y son ideales para tareas de backend que requieren baja latencia, como las llamadas a las APIs de Perplexity, Alpaca, Alpha Vantage y LinkPreview.

supabase functions deploy perplexity-news perplexity-chat perplexity-research portfolio-tab-data

Explicación del Código

El proyecto Briefo está estructurado con una arquitectura moderna y escalable, utilizando tecnologías populares en el ecosistema de desarrollo:

  • Frontend: React Native con Expo Router (TypeScript) dirigido a iOS, Android y Web. Esto permite una base de código única para múltiples plataformas.
  • Backend: Supabase (PostgreSQL, Row Level Security, Realtime) para datos y autenticación. Supabase proporciona una base de datos robusta y servicios de autenticación listos para usar.
  • Edge Functions: TypeScript en Deno llamando a las APIs de Perplexity, Alpaca, Alpha Vantage y LinkPreview. Estas funciones manejan la lógica de negocio y la integración con servicios externos.
  • Hooks: Los hooks de datos reutilizables al estilo React Query residen en lib/ y hooks/. Esto promueve la reutilización de código y una gestión eficiente del estado.
  • Pruebas y Linting: ESLint, Prettier y Expo Lint mantienen la calidad del código. Estas herramientas aseguran que el código sea consistente, legible y libre de errores comunes.

Enlaces

Explora el código fuente y una demostración en vivo de Briefo a través de los siguientes enlaces:

Repositorio de GitHub Demostración en Vivo

Resumen

En esta lección, hemos explorado cómo construir Briefo, una aplicación de noticias personalizada impulsada por IA. Hemos cubierto los siguientes puntos clave:

  • Briefo ofrece un feed de noticias personalizado, análisis de empresas y funciones de discusión, todo integrado con la API Sonar de Perplexity.
  • La instalación requiere Node.js, un gestor de paquetes, Expo CLI y Supabase CLI, junto con la configuración de variables de entorno esenciales.
  • La aplicación utiliza React Native para el frontend, Supabase para el backend y Edge Functions para la integración con diversas APIs externas.
  • El código está organizado con hooks reutilizables y herramientas de calidad como ESLint y Prettier.
  • Puedes acceder al repositorio de GitHub para el código fuente y a una demostración en vivo para ver la aplicación en acción.
Lección del curso «Perplexity API Cookbook» de Perplexity, publicado con licencia MIT. Traducción y adaptación al español de IA con Clase. IA con Clase no está afiliado a Perplexity. Ver el original · Licencia
Esta lección es gratuita. El resto del curso se abre con la Membresía de IA con Clase, que incluye todos los cursos del catálogo. Ver precios