Inicio
Acerca de
Proyectos
Educación
Certificaciones
Contacto
Actualizado: Febrero 6 de 2025
Andrés Bermúdez
Desarrollador Backend | Java | Spring | Bases de datos | Linux
LinkedIn
GitHub
Outlook

Proyectos

1. Virtual Assistant DBA 2. REST API Forum Hub 3. REST API Clinica Voll 4. JUnitTests 5. Market API 6. ScreenMatch Aplicación Web 7. Generador Frases 8. ScreenMatch App Consola 9. LiterAlura Challenge 10. Gestor peliculas API OMDb 11. Conversor de Monedas 12. BookSmart 13. Contacts Book 14. Shop 15. Sistema Bancario 16. Formulario 17. Calculadora 18. Encriptador de texto 19. Ancient Titans

Virtual Assistant DBA

Este proyecto 🚀 es un asistente virtual para administrar bases de datos relacionales (SQL) mediante lenguaje natural, utilizando inteligencia artificial 🤖.

El asistente permite operar sobre cualquier base de datos SQL con solo unas simples configuraciones ⚙️. Tiene la capacidad de ejecutar operaciones de búsqueda 🔍, creación ➕, actualización ✏️ y eliminación ❌ de datos, todo a través de lenguaje natural 💬.

Internamente, el asistente transforma la solicitud del usuario en consultas SQL 📝, las ejecuta automáticamente ⚡ y muestra los resultados de manera clara y accesible 👀.

El proyecto fue desarrollado utilizando un modelo de IA que corre en local 🖥️, lo que ofrece varias ventajas ✅. Entre ellas, se destacan una mayor privacidad 🔒 y seguridad 🔐, ya que los datos no necesitan enviarse a servidores externos. Además, al ejecutarse de manera local, se reduce la latencia ⏳ en las respuestas y se evita la dependencia de servicios en la nube ☁️, lo que permite un mayor control sobre el sistema y su rendimiento 🚀.

Tecnologías y Herramientas Utilizadas:
  • Linux( Sistema operativo)
  • Java JDK Coretto 21.0.5
  • Spring Boot 3.x
  • Spring Data JPA (Gestión de base de datos)
  • SQL (Lenguaje de consultas de bases de datos relacionales)
  • Ollama (Servidor para correr modelos IA en local)
  • Visual Studio Code (Editor de codigo)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
  • Mistral (Modelo de IA)
  • Postman (Cliente para realizar pruebas)
  • Maven (Gestor de dependencias)
  • JDBC Template (Gestion de bases de datos)
  • Springdoc OpenAPI (Documentación para APIs REST)
  • HTML (Lenguaje de maquetado)
  • CSS (Lenguaje de estilos)
  • JavaScript (Lenguaje de programación)
Lo que aprendí con este proyecto:

📌 Desarrollo Backend con Java

✔️ Uso de Spring Boot para crear APIs RESTful eficientes.
✔️ Integración con bases de datos mediante Hibernate/JDBC.

🤖 Inteligencia Artificial y NLP
✔️ Integración de un modelo de IA en local sin depender de APIs externas. ✔️ Implementación de modelos de IA para procesar lenguaje natural.
✔️ Conversión de texto en consultas SQL dinámicas y seguras.

🛠️ Optimización y Escalabilidad
✔️ Manejo de múltiples motores SQL (MySQL, PostgreSQL, SQL Server, etc.).

💡 Casos de Uso Reales
✔️ Creación de asistentes inteligentes para analistas de datos.
✔️ Generación automática de reportes.
✔️ Integración con sistemas empresariales.

REST API Forum Hub

Este proyecto es una API REST para un foro donde los participantes de una plataforma pueden publicar sus preguntas sobre determinados temas 📝.

La API fue desarrollada en Java ☕ con Spring Boot 🌿 y una base de datos en PostgreSQL 🐘, y cuenta con autenticación y autorización de usuarios mediante JSON Web Tokens (JWT) 🔑 para garantizar la seguridad 🔒 y validación de los datos, utilizando Spring Security 🛡️.

La API proporciona Endpoints para gestionar el foro de forma completa: permite crear nuevos temas 🏷️, visualizar los existentes 👀, actualizar o eliminar temas 🔄, generar respuestas a cualquier tema 💬 y también modificar o eliminar dichas respuestas ✂️.

Operaciones disponibles:

🔹 GET: Para obtener los tópicos y respuestas generadas.

🔹 POST: Para crear usuarios, tópicos y respuestas.

🔹 PUT: Para actualizar la información de tópicos y respuestas creadas. Las entidades cuentan con la fecha de creación y la última fecha de actualización para realizar seguimiento de cada cambio.

🔹 DELETE: Para realizar la eliminación lógica de tópicos y respuestas, con el fin de almacenar los registros para futuros análisis de datos de la plataforma.

La API cuenta con validadores ✅ que verifican si los datos que el usuario desea insertar, actualizar o eliminar cumplen con las reglas del negocio 📊.

📖 La API cuenta con documentación generada automáticamente mediante SpringDoc, una 🛠️ biblioteca que facilita la creación y mantenimiento de documentación de APIs REST siguiendo la especificación OpenAPI 3. Proporciona documentación interactiva, como 🧭 Swagger UI, basada en las definiciones de los controladores y modelos del proyecto.

Este proyecto es el 🎯 último challenge de la especialización en desarrollo backend con ☕ Java y 🌿 Spring Framework del programa 🎓 ONE – Oracle Next Education.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Spring Boot 3.x
  • Spring Data JPA (Gestión de base de datos)
  • Spring Security (Autenticación y Autorización)
  • JWT (JSON Web Tokens)
  • JUnit (Pruebas Unitarias)
  • Postman (Cliente para realizar pruebas)
  • Lombok (Generación de código repetitivo)
  • Flyway (Migraciones de base de datos)
  • PostgreSQL (Base de datos relacional)
  • Maven (Gestor de dependencias)
  • Springdoc OpenAPI (Documentación para APIs REST)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

Con este proyecto aprendí a desarrollar una API REST completa utilizando Java ☕ y Spring Boot 🌿, integrando funcionalidades clave como la gestión de usuarios 👥, autenticación y autorización mediante JSON Web Tokens (JWT) 🔑 para asegurar la protección de los datos 🔒. Además, adquirí experiencia en el uso de PostgreSQL 🐘 como base de datos, lo que me permitió gestionar eficientemente la persistencia de la información del foro.

Aprendí a implementar y manejar operaciones CRUD (crear, leer, actualizar, eliminar) sobre temas 🏷️ y respuestas 💬, además de integrar validadores ✅ para asegurar la correcta inserción y actualización de los datos, cumpliendo con las reglas de negocio 📊 del sistema. También profundicé en la configuración y uso de Spring Security 🛡️ para reforzar la seguridad de la aplicación.

Una de las partes más interesantes fue la integración de SpringDoc 📖, lo que me permitió generar automáticamente la documentación interactiva de la API mediante OpenAPI 3 🧭 y Swagger UI 🛠️, facilitando tanto el mantenimiento como la comprensión del proyecto. En general, este proyecto me permitió afianzar mis conocimientos en desarrollo de APIs seguras y bien documentadas, mejorando mis habilidades en la construcción de sistemas robustos y escalables.

Para ver el codigo del proyecto: Visitar proyecto.

REST API Clinica Voll

Este proyecto es una 🏥 API REST diseñada para una clínica, que permite la gestión de médicos, pacientes y citas médicas.

La API fue desarrollada en ☕ Java con 🌿 Spring Boot y utiliza una base de datos MySQL. Cuenta con autenticación y autorización de usuarios mediante JSON Web Tokens (JWT) 🔑, garantizando la seguridad 🔒 y validación de los datos con Spring Security 🛡️.

La API proporciona endpoints para gestionar la clínica de forma completa: 🔹 👨‍⚕️ Crear nuevos médicos, pacientes y citas agendadas. 🔹 👀 Visualizar los registros existentes. 🔹 ✏️ Actualizar o eliminar datos de médicos, pacientes y citas. 🔹 📆 Generar nuevas citas según la disponibilidad de horarios de la clínica, la disponibilidad de los médicos de la especialidad requerida y las reglas de negocio. 🔹 ❌ Cancelar citas si las reglas de negocio lo permiten.

Operaciones disponibles:

🔹 GET: Obtener médicos de la clínica, pacientes y citas agendadas.

🔹 POST: Crear nuevos médicos, pacientes y citas.

🔹 PUT: Actualizar la información de médicos, pacientes y citas agendadas.

🔹 DELETE: Realizar la eliminación lógica de médicos, pacientes y citas, con el fin de conservar los registros para futuros análisis de datos 📊.

La API cuenta con validadores ✅ que aseguran que los datos ingresados, actualizados o eliminados cumplan con las reglas de negocio.

📖 La documentación de la API es generada automáticamente mediante SpringDoc, una 🛠️ biblioteca que facilita la creación y mantenimiento de documentación de APIs REST siguiendo la especificación OpenAPI 3. Ofrece documentación interactiva, como 🧭 Swagger UI, basada en las definiciones de los controladores y modelos del proyecto.

Este proyecto es uno de los 🎯 challenges de la especialización en desarrollo backend con ☕ Java y 🌿 Spring Framework del programa 🎓 ONE – Oracle Next Education.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Spring Boot 3.x
  • Spring Data JPA (Gestión de base de datos)
  • Spring Security (Autenticación y Autorización)
  • JWT (JSON Web Tokens)
  • JUnit (Pruebas Unitarias)
  • Lombok (Generación de código repetitivo)
  • Flyway (Migraciones de base de datos)
  • MySQL (Base de datos relacional)
  • Maven (Gestor de dependencias)
  • Springdoc OpenAPI (Documentación para APIs REST)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

Al realizar este proyecto, aprendí a desarrollar una API REST completa utilizando ☕ Java con 🌿 Spring Boot, aplicando principios clave para el desarrollo backend moderno.

Dominar Spring Security 🛡️ fue fundamental para implementar un sistema robusto de autenticación y autorización de usuarios mediante JSON Web Tokens (JWT) 🔑, lo que mejoró significativamente la seguridad 🔒 de la aplicación.

También profundicé en la gestión de bases de datos relacionales con MySQL y Spring Data JPA, facilitando la interacción con la base de datos a través de un enfoque orientado a objetos. Aprendí a crear entidades, relaciones y consultas eficientes utilizando Repositories y JPQL, asegurando la integridad y validación de los datos mediante validadores ✅ que garantizan el cumplimiento de las reglas de negocio 📊.

Un aspecto fundamental fue la implementación de pruebas unitarias 🧪 con JUnit y Mockito, lo que me permitió validar el correcto funcionamiento de los componentes de la aplicación de manera aislada, garantizando la calidad y fiabilidad del código. Aprendí a simular dependencias y a realizar pruebas automatizadas para verificar tanto la lógica de negocio como la seguridad de la API.

Aprendí a estructurar un proyecto siguiendo buenas prácticas de diseño, aplicando principios SOLID y separación de responsabilidades, lo que hizo el código más mantenible y escalable.

Otro aspecto clave fue la documentación de la API con SpringDoc y 🧭 Swagger UI, lo que facilitó la generación automática de una documentación clara e interactiva, siguiendo la especificación OpenAPI 3 📖.

Para ver el codigo del proyecto: Visitar proyecto.

JUnit Tests

Proyectos desarrollados para poner en práctica conceptos fundamentales de testing en Java utilizando las bibliotecas JUnit y Mockito. Cada proyecto incluye ejemplos de pruebas unitarias y de comportamiento, con el objetivo de validar la funcionalidad, robustez y confiabilidad de diferentes aplicaciones.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • JUnit (Pruebas Unitarias)
  • Mockito (Para simular clases)
  • MySQL (Base de datos relacional)
  • Maven (Gestor de dependencias)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

Durante el Curso Básico de Testing en Java aprendí los principios fundamentales del testing de software, enfocándome en cómo garantizar la calidad y el correcto funcionamiento de las aplicaciones.

Me familiaricé con las bibliotecas JUnit y Mockito, que son herramientas clave en el ecosistema de Java para escribir pruebas unitarias y pruebas de comportamiento. Desarrollé habilidades prácticas al diseñar y ejecutar pruebas que validaron tanto la lógica como la robustez de diferentes programas.

Entre las lecciones más destacadas, aprendí:

🔹La importancia de escribir pruebas unitarias para garantizar que cada componente de una aplicación funcione como se espera.
🔹Cómo implementar mocks simular comportamientos en los tests.
🔹El ciclo de vida de las pruebas, incluyendo la creación de datos de prueba, ejecución y validación de resultados.
🔹La aplicación de principios como el TDD (Test-Driven Development) para desarrollar software más confiable y mantenible.

Además, pude poner en práctica mis conocimientos creando pruebas para aplicaciones como:

🔹Un simulador de juego de dados. 🎲
🔹Una calculadora de descuentos. 🛒
🔹El clásico problema de lógica "FizzBuzz". 🔢
🔹Un verificador de años bisiestos. 📅
🔹Un sistema de gestión de películas. 🎥
🔹Un verificador de contraseñas seguras. 🔒
🔹Una pasarela de pagos. 💳
🔹Un convertidor de números arábigos a romanos. 🔢➡️🇷🇴
🔹La implementación y prueba de métodos básicos como isEmpty() en Java. 🛠️

Este aprendizaje me permitió fortalecer mis habilidades técnicas y desarrollar una mentalidad orientada a la calidad y la mejora continua en mis proyectos. 🚀

Para ver el codigo del proyecto: Visitar proyecto.

Market API

Este proyecto es una 🛒 API REST diseñada para un supermercado, que permite la gestión de 👥 clientes, 🛍️ productos y 🛒 compras.

La API fue desarrollada en ☕ Java con 🌿 Spring Boot y utiliza PostgreSQL 🐘 como base de datos y Gradle como gestor de dependencias. Ofrece funcionalidades como:

🔹 📋 Ver la lista de productos disponibles
🔹 🔍 Buscar productos por categoría, stock o ID
🔹 ➕ Crear y ❌ eliminar productos

También permite gestionar las compras:

🔹 🛒 Obtener las compras realizadas
🔹 🔍 Buscar compras por ID de cliente o compra
🔹 ➕ Crear y ❌ eliminar compras

El proyecto sigue una arquitectura orientada al dominio y aplica patrones de diseño como DAO y Repository. Además, utiliza Spring Data JPA para interactuar con la base de datos, incluyendo métodos personalizados en JPQL.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Spring Boot 3.x
  • Spring Web MVC (Para exponer la API en la web)
  • Spring Data JPA (Gestión de base de datos)
  • Postman (Cliente para realizar pruebas)
  • PostgreSQL (Base de datos relacional)
  • Gradle (Gestor de dependencias)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

Al realizar este proyecto, aprendí a desarrollar una API REST eficiente y escalable utilizando ☕ Java y 🌿 Spring Boot, integrando PostgreSQL 🐘 como sistema de gestión de bases de datos. Mejoré mis habilidades en la implementación de funcionalidades clave como la gestión de 🛍️ productos y 🛒 compras, y aprendí a estructurar el código con patrones de diseño como DAO 🏗️ y Repository 📦 para asegurar la mantenibilidad y flexibilidad del sistema.

Además, comprendí la importancia de la arquitectura orientada al dominio 🏢, lo que me permitió desarrollar un sistema más organizado y alineado con los requerimientos del negocio. También adquirí experiencia en la creación de consultas personalizadas usando 🔍 JPQL con Spring Data JPA para interactuar de manera eficiente con la base de datos. Este proyecto me brindó una comprensión más profunda sobre cómo manejar operaciones CRUD ➕❌, optimizar consultas y aplicar buenas prácticas en el desarrollo de software 💻.

Para ver el codigo del proyecto: Visitar proyecto.

Screenmatch Aplicación Web

Este proyecto es una aplicación web diseñada para permitir a los usuarios ver, buscar y gestionar contenido multimedia 📽️, como películas 🍿 y series 📺. Los usuarios pueden interactuar con la aplicación a través de una interfaz gráfica intuitiva o mediante su API 🔌.

La aplicación fue desarrollada en Java ☕ con Spring framework 🌱 y utiliza PostgreSQL como base de datos 🗃️.

En este proyecto, se hizo un énfasis especial en las buenas prácticas de programación 💻, incluyendo:

🔹 Programación Orientada a Objetos (POO): Para garantizar un código modular y reutilizable 🔄.

🔹 Programación Funcional: Para mejorar la legibilidad y mantener un código más limpio y eficiente 🧹.

🔹 Patrón de Diseño MVC (Modelo-Vista-Controlador): Para separar adecuadamente la lógica de negocio, la interfaz de usuario y la entrada del usuario, favoreciendo la escalabilidad y mantenimiento 🛠️.

🔹 Arquitectura de APIs RESTful: Para asegurar que la aplicación sea escalable 📈, fácil de mantener 🔧 y que permita una comunicación eficiente entre los componentes del sistema 📡.

El objetivo de este proyecto era desarrollar una aplicación web robusta utilizando Java y el Spring framework 🌐, y crear una API RESTful siguiendo las mejores prácticas de programación 🚀.

Este proyecto forma parte de la especialización en Backend con Java y Spring framework del programa ONE (Oracle Next Education) 🎓.

🎬 Funcionalidades de la Aplicación 📺:

La aplicación ofrece una variedad de funcionalidades diseñadas para mejorar la experiencia del usuario al interactuar con contenido multimedia. Entre las principales opciones se incluyen:

📚 Visualizar todos los títulos disponibles: Los usuarios pueden explorar la biblioteca completa de películas y series disponibles en la plataforma.

🔥 Ver los títulos más populares: Acceso a una lista de los contenidos más vistos y mejor valorados por la comunidad.

🆕 Ver los últimos lanzamientos: Actualizaciones constantes con los títulos más recientes añadidos a la plataforma.

📚 Ver la información general de una serie: Detalles sobre cada serie, incluyendo sinopsis, reparto, género y más.

📅 Ver todos los episodios por temporada: Navegar a través de los episodios de una serie organizados por temporada.

🎯 Filtrar episodios por temporada: Filtrar y seleccionar episodios específicos dentro de una temporada de una serie.

🏆 Ver el top 5 de los mejores episodios de una serie: Acceder a una lista con los episodios mejor valorados de cada serie.

🔍 Buscar títulos por categoría: Función de búsqueda avanzada que permite encontrar películas y series según su categoría o género.

Estas funcionalidades están diseñadas para proporcionar una experiencia de usuario personalizada 🎯, permitiendo a los usuarios descubrir y disfrutar del contenido de manera eficiente y atractiva. 🚀

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Spring Boot 3.x
  • Spring Web MVC (Para exponer la API en la web)
  • Spring Data JPA (Gestión de base de datos)
  • Postman (Cliente para realizar pruebas)
  • PostgreSQL (Base de datos relacional)
  • Maven (Gestor de dependencias)
  • Devtools (Herramientas extra de desarrollo)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

Realizando este proyecto, aprendí varios conceptos y prácticas clave en el desarrollo de aplicaciones web, especialmente en el contexto de Java ☕ y Spring 🌱 framework. Entre lo más destacado, puedo mencionar:

1. Desarrollo de aplicaciones web 🌐: Aprendí a construir aplicaciones web robustas y escalables, gestionando contenido multimedia 🎥 y utilizando una interfaz gráfica interactiva o una API para la comunicación con el usuario 🔌.

2. Buenas prácticas de programación 💻: Me familiaricé con las buenas prácticas que mejoran la calidad del código, tales como:

🔹 La Programación Orientada a Objetos (POO) 🧩, que promueve la creación de código modular, reutilizable 🔄 y fácil de mantener.

🔹 La Programación Funcional 🧹, que contribuye a un código más limpio, legible y eficiente.

🔹 El uso del Patrón de Diseño MVC 🏗️, lo que me permitió separar las responsabilidades de lógica de negocio 💡, interfaz de usuario 🖥️ y entrada del usuario ⌨️, mejorando la mantenibilidad y la escalabilidad del proyecto.

3. Arquitectura de APIs RESTful 🔗: Aprendí a diseñar y desarrollar APIs RESTful, lo que me permitió comprender cómo construir aplicaciones que sean escalables 📈 y que faciliten la comunicación eficiente entre componentes 🗣️.

4. Integración con bases de datos 🗃️: Trabajé con PostgreSQL como base de datos, aprendiendo a integrar y gestionar información de manera eficiente.

5. Uso de Spring framework 🌱: Dominar el uso de Spring me permitió comprender la importancia de un framework en el desarrollo de aplicaciones, facilitando la integración de dependencias 🔌, la gestión de seguridad 🔒 y la configuración ⚙️ de la aplicación de forma más sencilla.

6. Mejores prácticas de programación en Java 🚀: Apliqué principios sólidos de desarrollo backend con Java, siguiendo las mejores prácticas para crear soluciones más robustas y fáciles de mantener.

En resumen, este proyecto me brindó una comprensión más profunda de cómo crear aplicaciones web bien estructuradas, seguras 🔐 y escalables, siguiendo estándares de la industria y mejorando constantemente mis habilidades como desarrollador backend 👨‍💻.

Para ver el codigo del proyecto: Visitar proyecto.

Generador de Frases

🚀 Este proyecto es una API de frases aleatorias desarrollada en Java con Spring Framework y base de datos PostgreSQL.

🎯 El objetivo era crear una API robusta e integrar de manera eficiente una aplicación backend con una aplicación frontend.

🎓 Forma parte de la especialización en backend con Java y Spring Framework del programa ONE (Oracle Next Education).

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Spring Boot 3.x
  • Spring Web MVC (Para exponer la API en la web)
  • Spring Data JPA (Gestión de base de datos)
  • Postman (Cliente para realizar pruebas)
  • PostgreSQL (Base de datos relacional)
  • Maven (Gestor de dependencias)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

✅ Desarrollo de APIs RESTful: Comprendí cómo crear y estructurar una API usando Java y Spring Framework, aplicando buenas prácticas y principios de diseño.

✅ Integración de tecnologías: Aprendí a conectar una aplicación backend con una frontend, logrando una comunicación eficiente entre ambos entornos.

✅ Gestión de bases de datos: Fortalecí mis habilidades en PostgreSQL, incluyendo la configuración, modelado de datos y ejecución de consultas.

✅ Principios de Clean Code: Apliqué principios de código limpio y mantenible, favoreciendo la legibilidad y escalabilidad del proyecto.

✅ Ciclo de desarrollo completo: Experimenté el ciclo completo de desarrollo, desde la planificación y codificación hasta las pruebas e implementación.

🎯 Este proyecto reforzó mi comprensión de los fundamentos del desarrollo backend y la integración de sistemas modernos.

Para ver el codigo del proyecto: Visitar proyecto.

Screenmatch Aplicación Consola

🌟 Primer Proyecto en Java con Spring Boot - Curso de Alura (ONE: Oracle Next Education) 🌟

Esta aplicación desarrollada en Java con Spring Boot permite realizar búsquedas de series 📺 mediante la API de OMDb (https://www.omdbapi.com) para obtener información detallada de cada título.

🎯 Funcionalidades principales:

🔍 Búsqueda de series por nombre y fecha.
📊 Visualización de estadísticas por temporada.
⭐ Consulta del Top 5 de episodios mejor calificados.
📈 Uso de programación funcional con la API de Streams de Java para operaciones intermedias y conversión de resultados en colecciones específicas, facilitando la búsqueda y el filtrado.

🛠️ Creación de proyectos con Spring Initializr:
🚀 Configuración de un proyecto Spring Boot con Maven como gestor de dependencias.

🌐 Consumo de la API de OMDb:
🌍 Implementación de solicitudes HTTP para interactuar con la API.

📦 Estructuras de Datos y Formato JSON:
🗂️ Procesamiento de datos en formato JSON usando la biblioteca Jackson.

📌 Introducción a la Programación Funcional en Java:
🛠️ Aplicación de Streams para manipulación eficiente de datos.

📚 Uso de bibliotecas para manipulación de datos y cálculo de estadísticas:
📅 DateTimeFormatter
🎯 Optional
📈 DoubleSummaryStatistics

¡Un proyecto ideal para explorar Java y Spring Boot con prácticas modernas y eficientes! 🚀

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Spring Boot 3.x
  • Spring Data JPA (Gestión de base de datos)
  • OkHttp (Realizar solicitudes HTTP)
  • Postman (Cliente para realizar pruebas)
  • Gson (Serializar y deserializar JSON)
  • PostgreSQL (Base de datos relacional)
  • Maven (Gestor de dependencias)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

Desarrollar esta aplicación con Java y Spring Boot fue una experiencia enriquecedora que me permitió fortalecer mis habilidades y adquirir nuevos conocimientos clave:

🛠️ Desarrollo y Configuración de Proyectos con Spring Boot:

Aprendí a crear proyectos desde Spring Initializr, configurando correctamente Maven como gestor de dependencias y comprendiendo su uso para la gestión de versiones y metadatos.

🌐 Consumo de APIs Externas:

Desarrollé habilidades para realizar solicitudes HTTP y consumir datos de una API externa (OMDb). Aprendí a manejar respuestas en formato JSON y a extraer información relevante utilizando la biblioteca Jackson.

📦 Manejo de Estructuras de Datos y JSON:

Fortalecí mis conocimientos en el manejo de datos con JSON, desde la deserialización de datos hasta su procesamiento en colecciones de Java.

📈 Programación Funcional con Java:

Profundicé en la API de Streams, utilizando operaciones intermedias y terminales para manipular y transformar colecciones de datos de manera eficiente.

Aprendí a aplicar técnicas de programación funcional para realizar filtros, mapeos y reducciones en datos complejos.

📊 Cálculo de Estadísticas y Manipulación de Datos:

Implementé herramientas como DoubleSummaryStatistics y Optional para el análisis y cálculo de estadísticas sobre los datos procesados.

🎯 Lecciones Clave:

Buenas prácticas: Estructurar un proyecto de forma modular y mantener un código limpio.
Eficiencia: Uso de Streams para manejar grandes volúmenes de datos de forma más eficiente.
Integración de Herramientas: Aplicación de diferentes bibliotecas y herramientas de Java para resolver problemas reales.

Este proyecto no solo me permitió mejorar mis habilidades técnicas, sino también comprender mejor la arquitectura de aplicaciones modernas con Java y Spring Boot. 🚀

Para ver el codigo del proyecto: Visitar proyecto.

LiterAlura Challenge

📚 Esta es una aplicación desarrollada en Java con Spring Boot que permite buscar y gestionar libros mediante la API de Gutendex 🌐, con persistencia de datos en PostgreSQL 🗃️. Utiliza Maven 🛠️ para la gestión de dependencias, Gson 🔧 para el procesamiento de datos JSON y Spring Data 🗄️ para la interacción con la base de datos.

✅ La aplicación registra automáticamente cada consulta realizada por el usuario sobre un libro y ofrece opciones para:

📊 Visualizar los datos almacenados.
🌍 Filtrar por idioma.
📆 Buscar por una fecha específica.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Spring Boot 3.x
  • Spring Data JPA (Gestión de base de datos)
  • Gson (Serializar y deserializar JSON)
  • Postman (Cliente para realizar pruebas)
  • PostgreSQL (Base de datos relacional)
  • Maven (Gestor de dependencias)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

Este proyecto me permitió profundizar en diversas tecnologías y buenas prácticas de desarrollo:

✅ Java y Spring Boot: Mejoré mi comprensión sobre la arquitectura de microservicios, inyección de dependencias y creación de APIs REST.

📦 Maven: Aprendí a gestionar dependencias de manera eficiente y a estructurar proyectos de forma modular.

🔧 Gson: Fortalecí mis habilidades en la manipulación y transformación de datos JSON.

🗄️ Spring Data y PostgreSQL: Desarrollé experiencia en la persistencia de datos relacionales, consultas personalizadas y la integración de bases de datos con Java.

🌐 Consumo de APIs externas: Implementé la integración con la API de Gutendex, comprendiendo cómo manejar peticiones HTTP y respuestas JSON.

📊 Gestión de datos y filtrado: Implementé funciones de almacenamiento y filtros avanzados, como búsqueda por idioma y fecha, mejorando mis habilidades en la manipulación de datos.

Este proyecto no solo reforzó mi conocimiento técnico, sino que también mejoró mi capacidad para desarrollar aplicaciones completas y escalables con buenas prácticas. 🚀

Para ver el codigo del proyecto: Visitar proyecto.

Gestor de peliculas API OMDb

🎬 Sistema de Gestión y Búsqueda de Películas:

Este sistema permite la 📡 búsqueda y gestión de películas a través de la API de OMDb, formando parte de la especialización en desarrollo backend con Java del programa ONE (Oracle Next Education).

🔍 Características principales:

🎞️ Búsqueda de múltiples títulos disponibles en la API con acceso a información detallada de cada película.
⭐ Posibilidad de agregar películas a una lista de favoritos, almacenada en una base de datos diseñada en PostgreSQL 🗄️.
✏️ Los usuarios pueden modificar su lista de favoritos directamente desde el menú del sistema.

📊 Gestión de datos y exportación:
🗃️ La base de datos registra automáticamente todas las consultas realizadas.

📄 Como funcionalidad adicional, el sistema genera un archivo .txt con las películas consultadas en formato JSON 📦, facilitando su intercambio con otras personas.

🚀 Un proyecto ideal para reforzar habilidades en desarrollo backend con Java, gestión de APIs y manejo de bases de datos.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • OkHttp (Realizar Solicitudes HTTP)
  • Gson (Serializar y deserializar JSON)
  • Postman (Cliente para realizar pruebas)
  • PostgreSQL (Base de datos relacional)
  • Maven (Gestor de dependencias)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

Este proyecto me permitió desarrollar y fortalecer diversas habilidades clave en el desarrollo backend con Java:

☕ Java y Backend: Profundicé en la creación de aplicaciones backend robustas, implementando un sistema con múltiples funcionalidades.

📡 Consumo de APIs REST: Aprendí a realizar peticiones HTTP a la API de OMDb, manejar respuestas JSON y presentar la información de manera estructurada.

🗄️ Bases de Datos con PostgreSQL: Mejoré mis habilidades en diseño y gestión de bases de datos relacionales, incluyendo la persistencia de datos y registros de actividad.

⭐ Gestión de Favoritos: Implementé la funcionalidad de agregar, modificar y almacenar favoritos de manera eficiente, aplicando buenas prácticas de manipulación de datos.

📦 Generación y Exportación de Archivos: Incorporé la generación de archivos .txt en formato JSON para facilitar la exportación e intercambio de información.

🛠️ Buenas Prácticas y Organización del Código: Practiqué la separación de responsabilidades, modularidad y uso de menús interactivos para mejorar la experiencia del usuario.

🚀 Este proyecto no solo reforzó mis habilidades técnicas, sino también mi capacidad para desarrollar soluciones completas y funcionales, aplicando buenas prácticas y herramientas modernas del desarrollo backend.

Para ver el codigo del proyecto: Visitar proyecto.

Conversor de monedas

Este es un conversor de monedas desarrollado en Java que utiliza la API de ExchangeRate 🌐 para ofrecer conversiones actualizadas y precisas.

🔧 ¿Cómo funciona?

🧑‍💻 El usuario ingresa el código de la moneda de origen.
💰 Luego, introduce el código de la moneda de destino y el valor a convertir.
🔗 La aplicación realiza una solicitud a la API de ExchangeRate.
📊 El valor es convertido y mostrado al usuario de forma clara y sencilla.

📦 Características principales:

✅ Conversión precisa: Convierte valores entre diversas monedas con información actualizada.
✅ Consulta de códigos: Permite consultar los códigos de las monedas disponibles.
✅ Historial de conversiones: Las conversiones realizadas se almacenan en un archivo .txt ubicado en el directorio de archivos generados.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • OkHttp (Realizar Solicitudes HTTP)
  • Gson (Serializar y deserializar JSON)
  • Maven (Gestor de dependencias)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
  • Postman (Cliente para realizar pruebas)
Lo que aprendí con este proyecto:

Desarrollar este conversor de monedas fue una experiencia enriquecedora que me permitió adquirir y fortalecer diversas habilidades clave en el desarrollo de software:

🧩 Integración de APIs: Aprendí a realizar solicitudes HTTP y consumir datos de una API externa (ExchangeRate) para obtener información actualizada sobre tasas de cambio, mejorando mi comprensión de la comunicación entre aplicaciones.

🛠️ Manejo de Java: Reforcé mis conocimientos en Java, aplicando buenas prácticas de programación orientada a objetos, como la separación de responsabilidades y un código limpio y mantenible.

📂 Gestión de Archivos: Implementé la lectura y escritura de archivos .txt para almacenar el historial de conversiones, lo que me permitió comprender mejor la manipulación de archivos y persistencia de datos localmente.

🧑‍💻 Interacción con el Usuario: Desarrollé un sistema intuitivo para la entrada de datos, permitiendo al usuario ingresar códigos de moneda y valores de forma sencilla y clara.

📊 Validación de Datos: Implementé controles para asegurar que los datos ingresados fueran válidos, mejorando la experiencia de usuario y evitando errores comunes.

🚀 Conclusión:

Este proyecto no solo me permitió mejorar mis habilidades técnicas, sino que también me enseñó la importancia de la organización del código, la gestión de recursos externos y la creación de aplicaciones funcionales y orientadas al usuario.

Para ver el codigo del proyecto: Visitar proyecto.

BookSmart

Esta aplicación, desarrollada en Java con Spring Boot, permite la búsqueda y gestión de libros mediante el consumo de la API de Gutendex.

🔍 Entre las funcionalidades destacadas se incluyen:

🔹 Búsqueda de libros por título
🔹 Visualización de los 10 libros más descargados
🔹 Acceso a estadísticas generales de la aplicación
🔹 Exploración de todos los libros disponibles

🛠️ El proyecto se ha creado utilizando Spring Initializr y Maven como gestor de dependencias.

Además, se implementó el uso de streams para manipular colecciones de datos y se aplicó programación funcional para garantizar las mejores prácticas en el desarrollo.

🎓 Este proyecto forma parte de la formación en Spring en Alura.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Gson (Serializar y deserializar JSON)
  • Maven (Gestor de dependencias)
  • Postman (Cliente para realizar pruebas)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

✅ Desarrollo con Spring Boot: Fortalecí mis habilidades en el desarrollo de aplicaciones backend utilizando Spring Boot, desde la configuración inicial hasta la implementación de funcionalidades avanzadas.

✅ Consumo de APIs externas: Aprendí a integrar y consumir datos de APIs externas, como Gutendex, para ofrecer funcionalidades dinámicas y enriquecidas a la aplicación.

✅ Uso de Maven: Me familiaricé con el uso de Maven como gestor de dependencias, facilitando la gestión de bibliotecas y la construcción del proyecto.

✅ Manipulación de colecciones con Streams: Implementé el uso de streams para procesar y manipular colecciones de datos de manera eficiente, aplicando conceptos de programación funcional.

✅ Buenas prácticas en desarrollo: Apliqué principios de programación funcional y buenas prácticas de desarrollo, asegurando un código limpio, escalable y fácil de mantener.

🎯 Este proyecto me permitió consolidar mi conocimiento de Spring Boot y mejorar mi capacidad para desarrollar aplicaciones modernas y eficientes, optimizando el uso de datos y APIs externas.

Para ver el codigo del proyecto: Visitar proyecto.

Contacts Book

Este proyecto es una agenda de contactos desarrollado en Java utilizando principios de programación orientada a objetos (OOP) y Maven como administrador de dependencias. La aplicación está respaldada por una base de datos MySQL, que implementa las cuatro funciones básicas de persistencia de datos (CRUD: crear, leer, actualizar, eliminar).

🔧 Características principales:

Diseño orientado a objetos: se aplicaron los principios de OOP para una base de código bien estructurada y fácil de mantener.

Operaciones CRUD: se habilitó la gestión completa de los contactos a través de las funciones CRUD estándar.

Integración con Maven: se administraron las dependencias del proyecto de manera eficiente con Maven.

Base de datos MySQL: se utilizó MySQL para el almacenamiento y la persistencia de datos, lo que garantiza un manejo confiable de los datos.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • MySQL (Base de datos relacional)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

✅ Aplicación de la programación orientada a objetos (OOP): Aprendí a diseñar e implementar una aplicación utilizando los principios de la OOP, asegurando un código modular, reutilizable y fácil de mantener.

✅ Gestión de base de datos con MySQL: Me familiaricé con la integración de una base de datos MySQL, implementando operaciones de persistencia de datos (CRUD) para almacenar y gestionar contactos de manera eficiente.

✅ Uso de Maven para gestión de dependencias: Fortalecí mis habilidades en el uso de Maven, gestionando dependencias y facilitando la construcción y el manejo de versiones del proyecto.

✅ Implementación de operaciones CRUD: Apliqué y comprendí la importancia de las funciones básicas de persistencia de datos: Crear, Leer, Actualizar y Eliminar, fundamentales en el desarrollo de aplicaciones con base de datos.

🎯 Este proyecto me permitió consolidar mis conocimientos en Java, OOP, y gestión de bases de datos, mejorando mi capacidad para desarrollar aplicaciones con almacenamiento persistente.

Para ver el codigo del proyecto: Visitar proyecto.

Shop

Este simulador de tienda virtual ofrece una experiencia completa tanto para clientes como para administradores.

🔑 Funciones principales:

Ingreso de Usuarios:

Cliente: Puede visualizar productos y realizar compras fácilmente.

Administrador: Requiere autenticación para acceder y gestionar productos (agregar, modificar, eliminar).

Carrito de Compras: El cliente puede agregar varios productos al carrito y proceder a la compra, donde se suman los precios de los productos en una sola cuenta.

💡 Este simulador está diseñado para ofrecer una experiencia intuitiva y eficiente, aprovechando las ventajas de la Programación Orientada a Objetos (OOP).

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

✅ Desarrollo de aplicaciones con múltiples roles: Aprendí a gestionar diferentes tipos de usuarios (cliente y administrador) implementando control de acceso y autenticación para asegurar una correcta diferenciación de funcionalidades.

✅ Carrito de compras y gestión de productos: Implementé un sistema de carrito de compras, donde se gestionan productos y se suman los precios de manera automatica. Además, trabajé en la gestión de productos para el administrador, permitiendo agregar, modificar y eliminar productos.

✅ Aplicación de la Programación Orientada a Objetos (OOP): Apliqué principios de OOP para estructurar el código de forma modular, escalable y fácil de mantener, mejorando la eficiencia y la reutilización de componentes.

🎯 Este proyecto me permitió consolidar mis conocimientos en gestión de usuarios, gestión de productos y desarrollo de sistemas orientados a objetos, mejorando mis habilidades para crear aplicaciones completas e interactivas.

Para ver el codigo del proyecto: Visitar proyecto.

Sistema Bancario

💳 Simulador de Cajero Automático

Este proyecto es un simulador de cajero automático desarrollado en Java, aplicando Programación Orientada a Objetos (OOP) y utilizando Java Swing para la creación de interfaces gráficas.

🔑 Funciones principales:

🔹Registro de usuario e inicio de sesión.
🔹Consulta de saldo, depósito y retiro de dinero.
🔹Autenticación de datos antes de cada transacción.
🔹Generación de factura al finalizar cada operación.

🎯 Objetivos del proyecto:

Poner en práctica los conocimientos adquiridos en los cursos de programación orientada a objetos con Java, tales como:

🔹Abstracción y Encapsulamiento
🔹Herencia y Polimorfismo
🔹Clases y Objetos
🔹Clases abstractas e interfaces
🔹Principio de modularidad
🔹Uso de constructores, variables y métodos estáticos
🔹Sobrescritura de métodos y uso de getters/setters
🔹Comprensión del funcionamiento de la memoria en Java (Stack, Heap) y el Garbage Collector
🔹Manejo de errores y otras buenas prácticas de programación.

🎯 Este proyecto me permitió reforzar mis conocimientos de Java y OOP, creando una aplicación funcional que simula un cajero automático realista y eficiente.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Java Swing (Creación de interfaces graficas con Java)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

✅ Aplicación de la Programación Orientada a Objetos (OOP): Profundicé en los principios fundamentales de OOP como abstracción, herencia, encapsulamiento y polimorfismo, aplicándolos en la creación de una estructura modular y escalable.

✅ Diseño y uso de clases e interfaces: Desarrollé clases y objetos para representar las distintas entidades del sistema, como usuarios y transacciones, y utilicé interfaces y clases abstractas para definir comportamientos comunes, promoviendo la reutilización del código.

✅ Manejo de memoria y recursos: Comprendí el funcionamiento de la memoria en Java, trabajando con Stack y Heap, y profundicé en el concepto de Garbage Collector para la gestión de recursos y la optimización del uso de memoria.

✅ Creación de interfaces gráficas con Java Swing: Aprendí a diseñar y desarrollar interfaces gráficas interactivas utilizando Java Swing, mejorando la experiencia de usuario mediante ventanas y formularios funcionales.

✅ Manejo de errores y buenas prácticas: Implementé el manejo de errores adecuado y otras buenas prácticas de programación, como el uso de getters y setters, constructores y variables estáticas para mantener un código limpio, legible y fácil de mantener.

🎯 Este proyecto me permitió consolidar mis conocimientos de Java, OOP y desarrollo de interfaces gráficas, mejorando mi capacidad para crear aplicaciones funcionales y orientadas a objetos con una experiencia de usuario intuitiva.

Para ver el codigo del proyecto: Visitar proyecto.

Formulario

Este proyecto consiste en un formulario desarrollado en Java, utilizando las librerías de componentes de Java Swing para crear una interfaz gráfica amigable e interactiva.

🎯 Objetivo del proyecto:

🔹Fortalecer la lógica de programación aplicando los conceptos aprendidos en un curso de Java.
🔹Aprender a utilizar Java Swing para el desarrollo de interfaces gráficas.
🔹Poner en práctica los conocimientos adquiridos en un curso de programación en Java realizado en YouTube.

💡 Este proyecto me permitió adquirir experiencia en la creación de interfaces visuales, trabajando con componentes gráficos y gestionando la interacción del usuario a través de Java Swing.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Java Swing (Creación de interfaces graficas con Java)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

✅ Uso de Java Swing: Aprendí a utilizar Java Swing para desarrollar interfaces gráficas, explorando componentes como botones, cuadros de texto, etiquetas y menús, lo que me permitió crear un formulario funcional e interactivo.

✅ Fortalecimiento de la lógica de programación: Mejoré mi capacidad para aplicar estructuras lógicas y gestionar eventos de usuario, como la validación de datos ingresados y la respuesta a diferentes acciones dentro del formulario.

✅ Gestión de eventos en Java: Aprendí a manejar eventos de la interfaz gráfica, como clics en botones y la interacción con campos de texto, lo que me permitió entender mejor la programación orientada a eventos.

✅ Aplicación de conocimientos teóricos: Puse en práctica lo aprendido en un curso de Java de YouTube, aplicando los conceptos de POO, clases y métodos, reforzando así mi comprensión del lenguaje.

🎯 Este proyecto me permitió adquirir habilidades prácticas en Java Swing, mejorar mi lógica de programación y desarrollar aplicaciones con interfaces gráficas interactivas.

Para ver el codigo del proyecto: Visitar proyecto.

Calculadora

Esta calculadora fue desarrollada en Java utilizando Java Swing para crear la interfaz gráfica. Incluye funciones para realizar operaciones básicas (suma, resta, multiplicación, división) y un menú con la información del desarrollador. El objetivo de este proyecto fue clonar la calculadora presente en los sistemas operativos Linux.

🔧 Funciones principales:

Realización de operaciones matemáticas básicas.
Interfaz gráfica intuitiva desarrollada con Java Swing.
Menú de información con detalles del desarrollador.

🎯 Este proyecto me permitió aplicar mis conocimientos en Java y Swing para crear una herramienta útil y visualmente atractiva, mejorando mi comprensión de la programación de interfaces gráficas.

Tecnologías y Herramientas Utilizadas:
  • Java JDK Coretto 21.0.5
  • Java Swing (Creación de interfaces graficas con Java)
  • IntelliJ IDEA (Entorno de Desarrollo Integrado)
Lo que aprendí con este proyecto:

✅ Desarrollo de interfaces gráficas con Java Swing: Aprendí a crear interfaces gráficas interactivas y funcionales utilizando Java Swing, mejorando mis habilidades en la construcción de aplicaciones de escritorio con interfaces visuales.

✅ Implementación de operaciones matemáticas básicas: Implementé el cálculo de operaciones matemáticas básicas (suma, resta, multiplicación, división), lo que me permitió profundizar en el manejo de eventos y la lógica detrás de las operaciones.

✅ Manejo de menús y funcionalidades adicionales: Añadí un menú con la información del desarrollador, mejorando la experiencia de usuario al integrar funcionalidades adicionales.

✅ Clonación de aplicaciones existentes: El proyecto me permitió clonar una calculadora de un sistema operativo, lo que me ayudó a entender la replicación de aplicaciones estándar en otros entornos y plataformas.

🎯 Este proyecto me permitió consolidar mis conocimientos en Java Swing y en el desarrollo de aplicaciones gráficas, ampliando mi experiencia en la creación de aplicaciones de escritorio completas y funcionales.

Para ver el codigo del proyecto: Visitar proyecto.

Encriptador de texto

Link: https://andressfbermudez.github.io/EncriptadorTextoChallengeONE/

Esta aplicación web fue desarrollada utilizando HTML, CSS y JavaScript con el objetivo de encriptar y desencriptar texto. Un encriptador de texto es una herramienta que convierte texto plano en un formato ilegible, o texto cifrado, mediante un algoritmo criptográfico, protegiendo así la información de accesos no autorizados.

🎯 Objetivos del proyecto:

Desarrollar una aplicación funcional de encriptación y desencriptación de texto. Aplicar los conocimientos adquiridos en el programa de especialización en programación (JavaScript) y frontend (HTML, CSS, JavaScript).

🛠️ Mejoras implementadas:

Botones adicionales con eventos personalizados. Decoración de botones con íconos para mejorar la experiencia del usuario.

🎓 Este proyecto forma parte del programa ONE - Oracle Next Education, donde los estudiantes debíamos cumplir con los requisitos proporcionados por los instructores, además de incorporar mejoras opcionales para personalizar y optimizar la aplicación.

💡 Este proyecto me permitió aplicar y consolidar mis conocimientos en lógica de programación con JavaScript y en el desarrollo de aplicaciones frontend, mejorando mis habilidades para crear aplicaciones interactivas y funcionales.

Tecnologías y Herramientas Utilizadas:
  • HTML (Lenguaje de maquetado)
  • CSS (Lenguaje de estilos)
  • JavaScript (Lenguaje de programación)
  • Visual studio Code (Editor de texto)
Lo que aprendí con este proyecto:

✅ Desarrollo de aplicaciones web con HTML, CSS y JavaScript: Aprendí a crear aplicaciones web interactivas utilizando HTML para la estructura, CSS para el diseño y JavaScript para la funcionalidad, integrando estas tecnologías para construir una solución completa.

✅ Implementación de encriptación y desencriptación de texto: Desarrollé un algoritmo criptográfico para convertir texto plano en texto cifrado, lo que me permitió entender los conceptos fundamentales de seguridad y protección de datos.

✅ Mejoras en la experiencia del usuario: Aprendí a añadir funcionalidades adicionales como botones personalizados y eventos, y a mejorar la interfaz de usuario mediante el uso de íconos, lo que incrementó la usabilidad y el diseño de la aplicación.

✅ Aplicación de principios de programación y lógica: Puse en práctica los conocimientos adquiridos en lógica de programación, desarrollando la funcionalidad de la aplicación desde cero y asegurando que cumpliera con los requisitos del proyecto.

🎯 Este proyecto me permitió fortalecer mis habilidades en desarrollo web, JavaScript y en la creación de aplicaciones seguras y con una buena experiencia de usuario, preparándome para enfrentar desafíos más complejos en el futuro.

Para ver el codigo del proyecto: Visitar proyecto.

Ancient Titans

Link: https://andressfbermudez.github.io/AncientTitans/

Este proyecto de juego web fue desarrollado utilizando HTML, CSS y JavaScript, basado en el curso gratuito de programación básica de Platzi. El proyecto me permitió familiarizarme con las tecnologías web y mejorar mi lógica de programación.

🕹️ Mecánica del juego:

🔹Tres personajes con habilidades únicas.
🔹El jugador elige a su personaje y luego selecciona a su oponente.
🔹Mapa interactivo creado con Canvas para explorar.
🔹Batallas épicas entre personajes utilizando sus habilidades.

🎯 Este proyecto me ayudó a comprender los fundamentos del desarrollo de juegos web, la interacción de elementos con Canvas y la implementación de lógica de juego en JavaScript. Además, mejoré mis habilidades en HTML y CSS para crear una interfaz visualmente atractiva y funcional.

Tecnologías y Herramientas Utilizadas:
  • HTML (Lenguaje de maquetado)
  • CSS (Lenguaje de estilos)
  • JavaScript (Lenguaje de programación)
  • Visual studio Code (Editor de texto)
Lo que aprendí con este proyecto:

✅ Desarrollo de juegos web básicos: Aprendí a crear un juego interactivo utilizando HTML, CSS y JavaScript, implementando una estructura sencilla pero funcional.

✅ Uso de Canvas para gráficos: Me familiaricé con el uso de Canvas para crear mapas interactivos y representar visualmente los personajes y las batallas, lo que me permitió profundizar en la manipulación de gráficos en la web.

✅ Lógica de programación en juegos: Desarrollé la lógica de juego para que los personajes tuvieran habilidades únicas y pudieran enfrentarse en batallas épicas, mejorando mi capacidad para implementar mecánicas de juego en código.

✅ Interactividad y experiencia de usuario: Aprendí a mejorar la interactividad del juego, creando una experiencia atractiva para el usuario al seleccionar personajes, explorar el mapa y luchar.

🎯 Este proyecto me permitió consolidar mis conocimientos en JavaScript, Canvas y en el desarrollo de juegos web, mejorando mi capacidad para trabajar con tecnologías web y desarrollar aplicaciones interactivas.

Para ver el codigo del proyecto: Visitar proyecto.