Skip to Content
📚 Bienvenido a la documentación técnica de Rial AI 👋
🚀 Guía de Configuración y Desarrollo

🚀 Guía de Configuración y Desarrollo

Esta guía te llevará paso a paso para configurar tu entorno de desarrollo local para trabajar con la plataforma Rial AI. Está diseñada especialmente para desarrolladores que están comenzando en el mundo de la programación.

📋 Prerrequisitos

Antes de comenzar, necesitarás obtener acceso a varios servicios y herramientas. Esta sección te explica qué necesitas y cómo obtenerlo.

🔑 Permisos y Accesos Necesarios

1. GitHub

  • Cómo obtenerlo: Solicita acceso al administrador del equipo para formar parte de la organización de GitHub de Rial AI
  • Repositorios de la plataforma:
    • rial-backend - API
    • rial-frontend - Aplicación web

2. Supabase

  • ¿Qué es? Plataforma de base de datos como servicio, ahí está la base de datos de la plataforma
  • Cómo obtenerlo: Solicita acceso al administrador del equipo para acceder al proyecto de Supabase de Rial AI

3. Google Cloud Platform (GCP)

  • ¿Qué es? Plataforma de servicios en la nube de Google. Aquí esta subido el frontend, backend, los buckets de imágenes y los servicios de Google Cloud como DNS.
  • Cómo obtenerlo: Solicita acceso al proyecto en GCP.

4. Squarespace

  • ¿Qué es? Servicio donde está registrado nuestro dominio.
  • Cómo obtenerlo: Solicita acceso al administrador del equipo

5. Doppler

  • ¿Qué es? Servicio para gestionar variables de entorno de forma segura.
  • ¿Por qué lo necesitas? Para poder tener los secretos necesarios para correr la plataforma de forma local.
  • Cómo obtenerlo: Solicita acceso al workspace de Rial AI

🛠️ Instalación de Herramientas

1. 📦 Node.js

Node.js es el entorno de ejecución para JavaScript en el servidor. Es necesario para correr la plataforma de forma local.

Instalación

  1. Ve a nodejs.org 
  2. Descarga la versión LTS (Long Term Support)
  3. Ejecuta el instalador y sigue las instrucciones
  4. Verifica la instalación:
node --version # Debería mostrar algo como v18.17.0 npm --version # Debería mostrar algo como 9.6.7

2. 🧶 Yarn

Yarn es nuestro gestor de paquetes para descargar dependencias/librerías (más rápido y confiable que npm).

Instalación

npm install -g yarn

Verificación

yarn --version # Debería mostrar algo como 1.22.19

3. 🐳 Docker Desktop

Docker nos permite ejecutar aplicaciones en contenedores aislados. En este caso lo usamos para correr una base de datos de Supabase de forma local.

Instalación

  1. Ve a docker.com/products/docker-desktop 
  2. Descarga Docker Desktop para tu sistema operativo
  3. Instala y ejecuta Docker Desktop
  4. Verifica la instalación:
docker --version # Debería mostrar algo como Docker version 24.0.6

4. 🔧 Git

Git es nuestro sistema de control de versiones.

¿Qué es Git?

Git es la herramienta necesario para clonar y gestionar los repositorios de GitHub.

Instalación

  • macOS: Git viene preinstalado, o instala con brew install git
  • Windows: Descarga desde git-scm.com 
  • Linux: sudo apt install git (Ubuntu/Debian)

Configuración Inicial

Es necesario configurar Git con tu nombre y correo electrónico para que puedas hacer commits.

git config --global user.name "Tu Nombre" git config --global user.email "tu.email@ejemplo.com"

5. 💻 Editor de Código

Necesitas un editor de código potente para desarrollo. Recomiendo siempre usar editores con agentes de IA integrados.

Opciones Recomendadas

Extensiones Recomendadas para VS Code

  • Prettier: Formatea automáticamente tu código
  • ESLint: Detecta errores y problemas de estilo
  • Prisma: Soporte para archivos de esquema de Prisma
  • Live Share: Colaboración en tiempo real con otros desarrolladores
  • Material Icon Theme: Iconos bonitos para los archivos
  • Postman: Herramienta para probar APIs
  • Tailwind CSS IntelliSense: Auto-completado para Tailwind CSS

📥 Clonación de Proyectos

1. Crear Directorio de Trabajo

mkdir ~/rial-ai cd ~/rial-ai

2. Clonar Backend

git clone https://github.com/Rial-Cenia/rial-backend.git cd rial-backend

3. Clonar Frontend

cd ~/rial-ai git clone https://github.com/Rial-Cenia/rial-frontend.git cd rial-frontend

🔧 Configuración del Backend

1. Instalar Dependencias

cd ~/rial-ai/rial-backend yarn install

¿Qué hace yarn install?

  • Lee el archivo package.json
  • Descarga todas las librerías necesarias
  • Crea la carpeta node_modules con las dependencias
  • Genera/actualiza yarn.lock para versiones consistentes

2. Configurar Variables de Entorno

Debes crear un archivo .env en el directorio del backend con las variables de entorno obtenidas de Doppler.

3. Configurar Base de Datos

Instalar Supabase CLI

# macOS brew install supabase/tap/supabase # Windows/Linux npm install -g supabase

Inicializar Supabase Local

# Debes hacerlo desde el directorio del frontend cd ~/rial-ai/rial-frontend supabase init supabase start

¿Qué hace supabase start?

  • Inicia una instancia local de PostgreSQL
  • Configura la base de datos con el esquema necesario
  • Proporciona URLs locales para desarrollo

4. Ejecutar Migraciones

# Aplicar todas las migraciones a la base de datos yarn prisma migrate dev

5. Generar Cliente de Prisma

yarn prisma generate

¿Qué hace prisma generate?

  • Lee el archivo schema.prisma
  • Genera tipos de TypeScript automáticamente
  • Crea el cliente de Prisma para hacer consultas

6. Iniciar el Servidor de Desarrollo

yarn start:dev

Esto expone la API en http://localhost:4000

7. Acceder a la base de datos

yarn prisma studio

Se abrirá una interfaz web para explorar la base de datos

🌐 Configuración del Frontend

1. Instalar Dependencias

cd ~/rial-ai/rial-frontend yarn install

2. Configurar Variables de Entorno

Debes crear un archivo .env.local en el directorio del frontend con las variables de entorno obtenidas de Doppler.

3. Iniciar el Servidor de Desarrollo

yarn dev

Esto expone la aplicación en http://localhost:3000

🐛 Solución de Problemas Comunes

Error: “Puerto ya en uso”

# Encontrar qué proceso usa el puerto lsof -i :3000 # Terminar el proceso kill -9 <PID>

Error: “No se puede conectar a la base de datos”

  1. Verifica que Supabase esté ejecutándose: supabase status
  2. Revisa la variable DATABASE_URL en .env
  3. Reinicia Supabase: supabase stop && supabase start

Error: “Módulo no encontrado”

# Limpiar caché y reinstalar. También puedes intentar cerrar y abrir el editor de código rm -rf node_modules yarn.lock yarn install

🔄 Comandos de Desarrollo Diarios

Backend

# Iniciar desarrollo yarn start:dev # Ejecutar tests yarn test # Ejecutar tests e2e yarn test:e2e # Linting yarn lint # Verificar tipos yarn type-check # Ver logs de base de datos yarn prisma studio

Frontend

# Iniciar desarrollo yarn dev # Ejecutar tests yarn test # Linting yarn lint # Build para producción yarn build

Git (Ambos proyectos)

# Ver estado actual git status # Crear nueva rama para feature git checkout -b feature/nueva-funcionalidad # Agregar cambios git add . # Hacer commit git commit -m "feat: agregar nueva funcionalidad" # Subir cambios git push origin feature/nueva-funcionalidad

🎯 Próximos Pasos

Una vez que tengas todo configurado:

  1. 📖 Lee el Diccionario Técnico - Familiarízate con los términos
  2. 🔍 Explora el Esquema de Base de Datos - Entiende la estructura de datos
  3. 🌊 Aprende el Flujo de Trabajo - Conoce nuestra metodología
  4. 🧪 Practica con Testing - Aprende a escribir y ejecutar tests

¿Tienes problemas con la configuración? ¡No dudes en contactar al equipo de desarrollo o hablar por el canal de #rial-dev en Discord!

Last updated on