Introducción
En este módulo final, aplicarás todos los conocimientos adquiridos a lo largo del curso para desarrollar un proyecto completo en Ruby. Este proyecto te permitirá consolidar tus habilidades y demostrar tu competencia en la programación con Ruby. El proyecto consistirá en crear una aplicación web básica utilizando Ruby on Rails, que incluirá funcionalidades esenciales como la gestión de usuarios, la creación y visualización de contenido, y la implementación de pruebas.
Objetivos del Proyecto
- Aplicar conocimientos de Ruby y Ruby on Rails: Utilizarás las habilidades adquiridas en los módulos anteriores para construir una aplicación funcional.
- Desarrollar una aplicación web completa: Crearás una aplicación web desde cero, incluyendo la configuración del entorno, la implementación de funcionalidades y el despliegue.
- Implementar buenas prácticas: Aplicarás las mejores prácticas de codificación, refactorización, pruebas y seguridad.
- Desarrollar habilidades de depuración y pruebas: Aprenderás a identificar y corregir errores, así como a escribir pruebas para asegurar la calidad del código.
Descripción del Proyecto
Nombre del Proyecto: Blog Simple
Funcionalidades Principales
-
Gestión de Usuarios:
- Registro de usuarios.
- Inicio de sesión y cierre de sesión.
- Perfil de usuario.
-
Gestión de Publicaciones:
- Crear, editar y eliminar publicaciones.
- Visualizar una lista de publicaciones.
- Visualizar detalles de una publicación individual.
-
Comentarios:
- Añadir comentarios a las publicaciones.
- Eliminar comentarios.
-
Pruebas:
- Pruebas unitarias para modelos y controladores.
- Pruebas de integración para flujos de trabajo principales.
Requisitos Técnicos
- Ruby: Versión 2.7 o superior.
- Rails: Versión 6.0 o superior.
- Base de Datos: SQLite para desarrollo, PostgreSQL para producción.
- Control de Versiones: Git y GitHub para el control de versiones y la colaboración.
- Pruebas: Minitest o RSpec para pruebas unitarias e integración.
Estructura del Proyecto
- Configuración del Proyecto
- Inicialización del Proyecto: Crear un nuevo proyecto Rails.
- Configuración de la Base de Datos: Configurar SQLite para desarrollo y PostgreSQL para producción.
- Configuración de Git: Inicializar un repositorio Git y configurar GitHub.
- Implementación de Funcionalidades
- Gestión de Usuarios: Implementar el registro, inicio de sesión y perfil de usuario.
- Gestión de Publicaciones: Crear, editar, eliminar y visualizar publicaciones.
- Comentarios: Añadir y eliminar comentarios en las publicaciones.
- Pruebas y Depuración
- Pruebas Unitarias: Escribir pruebas para modelos y controladores.
- Pruebas de Integración: Escribir pruebas para los flujos de trabajo principales.
- Depuración: Identificar y corregir errores en el código.
- Despliegue
- Preparación para Producción: Configurar la base de datos PostgreSQL y otros ajustes necesarios.
- Despliegue en Heroku: Desplegar la aplicación en Heroku.
Entregables
- Código Fuente: Repositorio GitHub con el código fuente del proyecto.
- Documentación: Incluir un archivo README con instrucciones para configurar y ejecutar la aplicación.
- Pruebas: Incluir todas las pruebas unitarias e integración en el repositorio.
- Despliegue: URL de la aplicación desplegada en Heroku.
Evaluación
El proyecto será evaluado en base a los siguientes criterios:
- Funcionalidad: La aplicación debe cumplir con todas las funcionalidades especificadas.
- Calidad del Código: El código debe seguir las mejores prácticas de estilo y convenciones de Ruby.
- Pruebas: La aplicación debe incluir pruebas unitarias e integración que cubran las funcionalidades principales.
- Documentación: La documentación debe ser clara y completa, facilitando la configuración y ejecución de la aplicación.
- Despliegue: La aplicación debe estar correctamente desplegada y accesible en Heroku.
Conclusión
Este proyecto final te permitirá aplicar todo lo aprendido en un contexto práctico y real. Al completar este proyecto, habrás demostrado tu capacidad para desarrollar una aplicación web completa utilizando Ruby y Ruby on Rails, siguiendo las mejores prácticas de la industria. ¡Buena suerte y disfruta del proceso de desarrollo!
Curso de Programación en Ruby
Módulo 1: Introducción a Ruby
Módulo 2: Conceptos Básicos de Ruby
Módulo 3: Trabajando con Colecciones
Módulo 4: Programación Orientada a Objetos en Ruby
- Clases y Objetos
- Variables y Métodos de Instancia
- Variables y Métodos de Clase
- Herencia
- Módulos y Mixins
Módulo 5: Conceptos Avanzados de Ruby
- Bloques, Procs y Lambdas
- Metaprogramación
- Manejo de Excepciones
- Entrada/Salida de Archivos
- Expresiones Regulares
Módulo 6: Introducción a Ruby on Rails
- ¿Qué es Ruby on Rails?
- Configuración del Entorno Rails
- Creando una Aplicación Simple en Rails
- Arquitectura MVC
- Enrutamiento
Módulo 7: Pruebas en Ruby
- Introducción a las Pruebas
- Pruebas Unitarias con Minitest
- Desarrollo Guiado por Comportamiento con RSpec
- Mocking y Stubbing
Módulo 8: Mejores Prácticas en Ruby
- Estilo de Código y Convenciones
- Refactorización
- Optimización del Rendimiento
- Mejores Prácticas de Seguridad