ResidentEvilWiki es una aplicación web desarrollada en Ruby on Rails que utiliza Bulma como framework CSS. El proyecto está orientado a la comunidad fan de Resident Evil, permitiendo la creación de blogs, reseñas, chats y más.
- Ruby 3.3.6
- Rails 7.1.5.1
- Node.js (recomendado instalar vía nvm o brew)
- PostgreSQL
- Yarn o npm
Debes crear un archivo .env en la raíz del proyecto con las siguientes variables:
GMAIL_USERNAME=tu_correo@gmail.com
GMAIL_PASSWORD=contraseña_de_aplicacion_google
RAWG_API_KEY=tu_api_key_de_rawg- GMAIL_USERNAME: Correo de Gmail desde el cual se enviarán los emails.
- GMAIL_PASSWORD: Contraseña de aplicación generada desde la configuración de seguridad de Google (no tu contraseña personal).
- RAWG_API_KEY: Clave de API de RAWG.io, necesaria para acceder a la base de datos de videojuegos.
Para obtener tu RAWG_API_KEY:
- Regístrate o inicia sesión en RAWG.io.
- Ve a la sección API.
- Solicita tu API key siguiendo las instrucciones de la página.
- Copia la clave y pégala en el archivo
.envcomo se muestra arriba.
Debes tener el archivo config/master.key con la clave secreta de Rails. Si no tienes este archivo, solicita la clave al equipo de desarrollo o genera una nueva con:
EDITOR="code --wait" bin/rails credentials:editEsto generará el archivo y la clave necesaria para desencriptar las credenciales.
Sigue este orden de comandos para instalar y preparar el entorno desde cero:
rm -rf storage/*
bundle install
npm install
bin/rails db:drop db:create db:migrate db:seed
npm run build:css
bundle exec rails assets:precompile
bundle exec rails assets:clean
rails dev:cache- Elimina archivos temporales y de almacenamiento.
- Instala gemas y dependencias de Node.
- Prepara la base de datos y carga los datos de ejemplo.
- Compila los estilos de Bulma.
- Precompila y limpia los assets de Rails.
- Activa el cache de desarrollo para evitar consumir la API en cada consulta.
En dos terminales distintas:
rails snpm run watch:css- El primer comando inicia el servidor Rails.
- El segundo mantiene la compilación de CSS en tiempo real.
Cada vez que realices un cambio importante en un archivo .scss:
-
Detén ambos procesos (
rails synpm run watch:css). -
Ejecuta:
npm run build:css bundle exec rails assets:precompile bundle exec rails assets:clean
-
Vuelve a iniciar ambos procesos:
rails s npm run watch:css
- Ruby on Rails: Framework backend principal.
- Bulma: Framework CSS.
- Sass: Preprocesador CSS.
- Devise: Autenticación de usuarios.
- Cloudinary: Almacenamiento de imágenes.
- dotenv-rails: Manejo de variables de entorno.
- Redis: Soporte para Action Cable (WebSockets).
- Importmap, Turbo, Stimulus: SPA-like y JS moderno sin Webpack.
Consulta el Gemfile y package.json para más detalles.
docs/diagrama-entidad-relacion.pdf: Diagrama entidad-relación de la base de datos. Útil para entender la estructura y relaciones entre modelos.docs/Paleta.pdf: Paleta de colores oficial del proyecto para mantener la coherencia visual.- Otros archivos en
docs/pueden contener información relevante sobre la arquitectura, decisiones de diseño y manuales de usuario.
- El sistema de autenticación requiere que el correo y la contraseña de aplicación sean válidos para el envío de emails (recuperación de contraseña, confirmaciones, etc).
- El archivo
master.keyes esencial para desencriptar las credenciales y variables sensibles de Rails. - El almacenamiento de imágenes se realiza en Cloudinary, asegúrate de tener configuradas las credenciales necesarias en las variables de entorno o en las credenciales de Rails.
Para cualquier duda adicional, revisa los archivos en la carpeta docs/ o contacta al equipo de desarrollo.