Introducció
En aquest mòdul final, aplicaràs tots els coneixements adquirits al llarg del curs per desenvolupar un projecte complet en Ruby. Aquest projecte et permetrà consolidar els conceptes apresos i adquirir experiència pràctica en la creació d'una aplicació des de zero fins al desplegament.
Objectius del Projecte
Els objectius principals d'aquest projecte són:
- Aplicar Conceptes de Programació en Ruby: Utilitzaràs variables, estructures de control, mètodes, col·leccions, i altres conceptes bàsics de Ruby.
- Implementar Programació Orientada a Objectes: Crearàs classes, objectes, i utilitzaràs herència, mòduls i mixins.
- Utilitzar Conceptes Avançats: Integraràs blocs, procs, lambdas, i metaprogramació en el teu projecte.
- Treballar amb Ruby on Rails: Desenvoluparàs una aplicació web utilitzant el framework Ruby on Rails.
- Proves i Depuració: Escriuràs proves unitàries i de comportament per assegurar la qualitat del codi.
- Desplegament: Aprendràs a desplegar la teva aplicació en un entorn de producció.
Descripció del Projecte
Tema del Projecte
El projecte consistirà en la creació d'una aplicació web de gestió de tasques (To-Do List). Aquesta aplicació permetrà als usuaris crear, editar, eliminar i marcar tasques com a completes. A més, inclourà funcionalitats com la gestió d'usuaris, autenticació i autorització.
Funcionalitats Principals
-
Gestió d'Usuaris:
- Registre d'usuaris.
- Inici de sessió i tancament de sessió.
- Recuperació de contrasenya.
-
Gestió de Tasques:
- Creació de noves tasques.
- Edició de tasques existents.
- Eliminació de tasques.
- Marcar tasques com a completes o incompletes.
-
Interfície d'Usuari:
- Llista de tasques amb filtres (totes, completes, incompletes).
- Formulari per afegir i editar tasques.
- Pàgines de registre i inici de sessió.
Estructura del Projecte
El projecte es dividirà en les següents fases:
-
Configuració del Projecte:
- Instal·lació i configuració de Ruby on Rails.
- Configuració de la base de dades.
-
Implementació de Funcionalitats:
- Creació de models, controladors i vistes per a la gestió d'usuaris i tasques.
- Implementació de l'autenticació i autorització.
-
Proves i Depuració:
- Escriure proves unitàries i de comportament.
- Depurar errors i assegurar la qualitat del codi.
-
Desplegament:
- Preparar l'aplicació per al desplegament.
- Desplegar l'aplicació en un servidor de producció.
Requisits del Projecte
Tecnologies Utilitzades
- Ruby: El llenguatge de programació principal.
- Ruby on Rails: Framework per al desenvolupament web.
- SQLite/PostgreSQL: Base de dades per emmagatzemar dades.
- RSpec/Minitest: Eines per a les proves.
- Heroku: Plataforma per al desplegament de l'aplicació.
Entregables
- Codi Font: El codi complet de l'aplicació, organitzat i documentat.
- Documentació: Incloent instruccions per a la instal·lació, configuració i ús de l'aplicació.
- Proves: Conjunt complet de proves unitàries i de comportament.
- Aplicació Desplegada: L'aplicació en funcionament en un entorn de producció.
Resum
Aquest projecte final és una oportunitat per demostrar tot el que has après durant el curs. Treballaràs en un projecte real, aplicant conceptes bàsics i avançats de Ruby, així com utilitzant Ruby on Rails per desenvolupar una aplicació web completa. A més, aprendràs a escriure proves per assegurar la qualitat del codi i a desplegar l'aplicació en un entorn de producció. Estàs preparat per començar? Anem a configurar el projecte!
Curs de Programació en Ruby
Mòdul 1: Introducció a Ruby
Mòdul 2: Conceptes Bàsics de Ruby
Mòdul 3: Treballant amb Col·leccions
Mòdul 4: Programació Orientada a Objectes en Ruby
- Classes i Objectes
- Variables i Mètodes d'Instància
- Variables i Mètodes de Classe
- Herència
- Mòduls i Mixins
Mòdul 5: Conceptes Avançats de Ruby
- Blocs, Procs i Lambdas
- Metaprogramació
- Gestió d'Excepcions
- Entrada/Sortida de Fitxers
- Expressions Regulars
Mòdul 6: Introducció a Ruby on Rails
- Què és Ruby on Rails?
- Configuració de l'Entorn Rails
- Creació d'una Aplicació Simple en Rails
- Arquitectura MVC
- Rutes
Mòdul 7: Proves en Ruby
- Introducció a les Proves
- Proves Unitàries amb Minitest
- Desenvolupament Basat en Comportament amb RSpec
- Mocking i Stubbing
Mòdul 8: Millors Pràctiques en Ruby
- Estil de Codi i Convencions
- Refactorització
- Optimització del Rendiment
- Millors Pràctiques de Seguretat