Skip to content
View asobrados03's full-sized avatar

Block or report asobrados03

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
asobrados03/README.md

💻 Portafolio de Programación

¡Hola! 👋 Soy Alfredo Sobrados, apasionado por la programación, la tecnología y el desarrollo de software. Esto es una recopilación de proyectos y prácticas académicas y extraacadémicas que reflejan mi progreso, aprendizajes y habilidades en diversas tecnologías. 🚀

📂 Índice de Proyectos

Descripción: Finanzas Personales es una aplicación Android, diseñada para facilitar la gestión de tus finanzas personales. Implementa la arquitectura MVVM (Model-View-ViewModel) junto con el patrón Repository para garantizar un diseño modular, escalable y fácilmente mantenible. Esta app es mi Práctica Final de Plataformas de Software Móviles.

Tecnologías: Kotlin, Jetpack Compose, Material Design 3, Gradle KTS y Android Studio.

Puntos clave:

  • Esta app resuelve el problema de unas finanzas personales mal gestionadas.
  • Principales funcionalidades: Ver, Añadir, Editar y Eliminar tanto transacciones de gasto o ingreso como presupuestos asignados a un mes, año y categoría concreta. Estadísticas para visualizar nuestras finanzas y una página principal que nos da un saldo, ingresos y gastos totales.

Descripción:
HotelManagementAPI es una API RESTful diseñada para gestionar un hotel, permitiendo la administración de clientes, habitaciones, reservas, pagos y administradores. Implementa autenticación con JWT y sigue una arquitectura limpia para separar la lógica de negocio, la infraestructura y los adaptadores.

Motivación:
Este proyecto nació como un ejercicio de la comunidad Skool DeHaroHub. Aunque la comunidad ya no está activa, decidí desarrollarlo y publicarlo por mi cuenta como una oportunidad para mejorar mis habilidades en el diseño de APIs RESTful, el manejo de bases de datos con JDBC y la aplicación de buenas prácticas en arquitectura de software.

Tecnologías:

  • Lenguaje y Framework: Java 21+ con Spring Boot
  • Seguridad: Spring Security con JWT
  • Base de Datos: MariaDB en Docker
  • Persistencia: JDBC (sin ORM)
  • Contenedores: Docker para la base de datos y Adminer
  • Documentación: Swagger/OpenAPI
  • Pruebas: JUnit5, Mockito y Testcontainers
  • Herramientas de construcción: Gradle

Características destacadas:

  • CRUD completo para clientes, habitaciones, reservas, pagos y administradores.
  • Implementación de autenticación y autorización con JWT.
  • Uso de JDBC en lugar de ORM para mayor control sobre las consultas SQL.
  • Arquitectura limpia y modular basada en principios hexagonales.
  • Configuración con Docker para facilitar la instalación y ejecución.
  • Documentación interactiva con Swagger/OpenAPI.
  • Pruebas unitarias y de integración para garantizar la estabilidad del sistema.

¿Qué aprendí con este proyecto?

  • Profundicé en la arquitectura hexagonal y su aplicación en APIs REST.
  • Mejoré el manejo de bases de datos sin ORM utilizando JDBC.
  • Implementé autenticación segura con JWT en Spring Boot.
  • Aprendí a optimizar la estructura del código para mejorar la mantenibilidad y escalabilidad.

Descripción: Este proyecto implementa un sistema de gestión para un Centro de Convenciones utilizando los principios de la Programación Orientada a Objetos (POO) y varios patrones de diseño. Proporciona funcionalidades para gestionar espacios, reservas, productos y aspectos económicos del centro.

Objetivo: En esta práctica aprendí los pilares de la programación orientada a objetos (herencia, polimorfismo y encapsulación) e implemente varios patrones de diseño.

Herramientas: Java y el IDE NetBeans.


Descripción: La aplicación web permite a los profesores de Tecnologías Web notificar avisos a sus alumnos.

Tecnologías: HTML, CSS, PHP, JavaScript, jQuery y un entorno virtual LAMP(Linux, Apache, MySQL y PHP).

Objetivo: Aprender a desarrollar una aplicación web básica y a prepar el entorno virtual de desarrollo.


Descripción: Ejercicios y ejemplos prácticos de estructuras de datos en Java.

Objetivo: Fortalecer habilidades en lógica y resolución de problemas.

Temas cubiertos:

  • Listas enlazadas, pilas, colas, árboles binarios, etc.

Descripción: Ejercicios prácticos para entender conceptos fundamentales de los Sistemas Distribuidos.

Objetivo: Aprender algunos fundamentos prácticos básicos como la ejecución concurrente de hilos o el paso de mensajes de manera bidireccional entre cliente y servidor.

Temas cubiertos:

  • Implementación de tareas concurrentes utilizando la clase Thread de Java.
  • Uso de la interfaz Runnable para manejar tareas concurrentes.
  • Implementación de un servidor y cliente de Web Sockets en Java.

Descripción: Este práctica final es una replica del mítico juego Arkanoid desarrollado en Java.

Tecnologías: Java, Swing Java y AWT GUI

Objetivo: Aprender a desarrollar una aplicación de escritorio visual en Java para entender y aplicar el diseño de interfaces de usuario de manera práctica.


🌱 Sobre mí

Soy un desarrollador en constante aprendizaje, con interés en desarrollo de aplicaciones web y móviles, inteligencia artificial, ciberseguridad y tecnología blockchain. En este portafolio encontrarás desde prácticas básicas hasta proyectos más avanzados, reflejando mi evolución en este duro pero bonito camino.

📫 Contacto

¡Gracias por visitar mi portafolio! 😊

Pinned Loading

  1. Finanzas_Personales Finanzas_Personales Public

    Finanzas Personales es una aplicación Android desarrollada en Kotlin, diseñada para facilitar la gestión de tus finanzas personales. Implementa la arquitectura MVVM (Model-View-ViewModel) junto con…

    Kotlin

  2. HotelManagementAPI HotelManagementAPI Public

    API RESTful para la gestión de un hotel, permitiendo administrar reservas, habitaciones, pagos, clientes y administradores, con autenticación, validaciones y documentación en Swagger/OpenAPI

    Java

  3. Practica_FINAL_CentroDeConvenciones Practica_FINAL_CentroDeConvenciones Public

    Este es el proyecto final completo de la asignatura Programación Orientada a Objetos. Lo realizamos en el año 2022.

    Java

  4. Practicas_Sistemas_Distribuidos Practicas_Sistemas_Distribuidos Public

    Repositorio de prácticas de laboratorio para la asignatura de Sistemas Distribuidos en el curso académico 2024-2025. Incluye ejemplos y ejercicios sobre la clase Thread, la interfaz Runnable y Web …

    Java

  5. TWEB-Notificador-Avisos TWEB-Notificador-Avisos Public

    Este repositorio es la práctica universitaria realizada en el curso 2023-2024 en la asignatura Tecnologías Web de la Escuela de Ingeniería Informática de Segovia.

    PHP

  6. Practicas-Programacion-y-Estructuras-de-Datos Practicas-Programacion-y-Estructuras-de-Datos Public

    Repositorio de prácticas de laboratorio para la asignatura de Programación y Estructuras de Datos en el curso académico 2022-2023.

    Java