Skip to content

Proyecto para el curso de Full Stack Developer del Instituto Tecnológico de Buenos Aires (ITBA). Backend separado.

License

Notifications You must be signed in to change notification settings

carlosjcastro/DuckBank-Backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DuckBank

Certificación Avanzada en Full Stack Developer - ITBA - 2024 | Backend

Introducción

La Certificación Avanzada en Full Stack Developer del Instituto Tecnológico de Buenos Aires (ITBA) nos permitió desarrollar las competencias técnicas y profesionales necesarias para desempeñarnos como desarrolladores full stack. A lo largo de este programa intensivo, trabajamos en el desarrollo de un sistema de home banking llamado DuckBank, un banco ficticio diseñado para proporcionar una experiencia de usuario moderna, eficiente y segura.

El proyecto fue desarrollado en equipo utilizando metodologías ágiles durante 8 sprints, lo que nos permitió abordar todos los aspectos del desarrollo de software: desde la planificación y el diseño hasta la implementación y el despliegue.


Metodología de Trabajo

El desarrollo del proyecto se llevó a cabo en un equipo de tres integrantes, utilizando principios de Scrum para gestionar el trabajo de manera iterativa e incremental. Cada sprint tenía como objetivo entregar un MVP funcional según los requerimientos del Product Owner (PO).

Distribución del Tiempo:

  • 6 horas semanales de clases sincrónicas con acompañamiento del tech lead.
  • 6 horas semanales de trabajo asincrónico para el desarrollo del proyecto.
  • 1 taller mensual opcional enfocado en competencias blandas.

Desarrollo del Proyecto

Sprint 1: Introducción a la Web

  • Tecnologías: HTML, CSS, JavaScript.
  • Objetivo: Crear las primeras interfaces de usuario para DuckBank.
  • Conceptos trabajados:
    • Estructura y semántica de páginas web.
    • Creación de estilos básicos y avanzados con CSS.
    • Uso de JavaScript para manipular el DOM.
    • Introducción a objetos y estructuras de datos en formato JSON.

Sprint 2: Desarrollo Front-End con ReactJS

  • Tecnologías: ReactJS.
  • Objetivo: Construir una SPA (Single Page Application) para el sistema de home banking.
  • Conceptos trabajados:
    • Componentes reutilizables y manejo de estados.
    • Gestión de estados globales con React Context.
    • Navegación con React Router.

Sprint 3: Optimización con Next.js

  • Tecnologías: Next.js.
  • Objetivo: Mejorar el rendimiento y la indexación del sistema.
  • Conceptos trabajados:
    • Diferencias entre renderizado estático y dinámico.
    • Optimización para SEO.
    • Estrategias de fetching y manejo de rutas dinámicas.

Sprint 4: Introducción a Python

  • Tecnologías: Python.
  • Objetivo: Sentar las bases del back-end del sistema.
  • Conceptos trabajados:
    • Estructuras de control y manejo de datos complejos.
    • Funciones y manejo de archivos.

Sprint 5: Programación Orientada a Objetos

  • Tecnologías: Python.
  • Objetivo: Implementar una lógica robusta en el back-end.
  • Conceptos trabajados:
    • Modularización y encapsulamiento.
    • Herencia y polimorfismo.
    • Manejo de excepciones y pruebas unitarias.

Sprint 6: Introducción a Bases de Datos

  • Tecnologías: SQL.
  • Objetivo: Crear y gestionar la base de datos para DuckBank.
  • Conceptos trabajados:
    • Consultas básicas y avanzadas (joins, subconsultas, transacciones).
    • Creación de vistas, índices y triggers.

Sprint 7: Desarrollo Back-End con Django

  • Tecnologías: Django.
  • Objetivo: Construir el back-end del sistema.
  • Conceptos trabajados:
    • Arquitectura MVC.
    • ORM para la gestión de bases de datos.
    • Formularios, sesiones y autenticación.

Sprint 8: APIs REST con Django REST Framework

  • Tecnologías: Django REST Framework (DRF).
  • Objetivo: Exponer servicios para la integración del front-end con el back-end.
  • Conceptos trabajados:
    • Creación de endpoints CRUD.
    • Autenticación y manejo de relaciones en APIs.

Tecnologías y Herramientas Utilizadas

Front-End:

  • HTML5 / CSS3.
  • JavaScript ES6+.
  • ReactJS.
  • Next.js.

Back-End:

  • Python.
  • Django.
  • Django REST Framework (DRF).

Base de Datos:

  • SQL.

Otras Herramientas:

  • Git y GitHub para control de versiones.
  • Visual Studio Code como entorno de desarrollo.
  • Postman para pruebas de APIs.
  • Metodologías ágiles para la gestión del equipo y los sprints.

Talleres de Competencias Blandas

Mensualmente participamos en talleres opcionales enfocados en el desarrollo profesional:

  1. Future Thinking y Future Skills: Preparación para el futuro laboral.
  2. Business Agility: Adaptación a entornos dinámicos.
  3. Inteligencia Artificial Generativa: Aplicaciones en el desarrollo.
  4. Organización del tiempo y trabajo digital: Estrategias de productividad.

Conocimientos Adquiridos

El programa nos permitió adquirir habilidades prácticas en:

  • Diseño e implementación de interfaces web responsivas.
  • Desarrollo de aplicaciones SPA utilizando ReactJS y Next.js.
  • Creación y gestión de bases de datos SQL.
  • Construcción y consumo de APIs RESTful con Django y DRF.
  • Programación orientada a objetos y realización de pruebas unitarias.
  • Trabajo en equipo bajo metodologías ágiles.

Integrantes del Equipo


Resultado Final

El resultado fue un sistema completo de home banking para DuckBank, con funcionalidades modernas y una arquitectura robusta que refleja las mejores prácticas en el desarrollo de software full stack.

¡Gracias por visitar nuestro proyecto!

About

Proyecto para el curso de Full Stack Developer del Instituto Tecnológico de Buenos Aires (ITBA). Backend separado.

Resources

License

Stars

Watchers

Forks