Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agustin Nicolas Gonzalez - Portfolio

Este repositorio contiene una colección de proyectos realizados en varios lenguajes de programación, abarcando una amplia gama de áreas como sistemas operativos, redes, estructuras de datos, desarrollo web y mucho más. A continuación, se presenta una descripción detallada de cada proyecto según el lenguaje de programación utilizado.



Proyectos Destacados

  • TP1 de Sistemas Distribuidos (Python)
    Aplicación escalable y tolerante a fallos para ejecutar consultas distribuidas sobre datasets utilizando RabbitMQ.

  • Nodo Bitcoin (Rust)
    Nodo Bitcoin completo con funcionalidades clave como minería, transacciones y creación de billeteras, con interfaz gráfica en GTK.

  • DuoLibros (Node.js)
    REST API con backend y frontend que simula una plataforma tipo Goodreads, permitiendo interacción entre usuarios mediante reseñas, likes y más.

  • TP2 de Ruby - RESP-API
    API REST y bot de Telegram para gestión de un restaurante con arquitectura hexagonal, microservicios y base de datos integrada.

  • Proyecto Banco (Java)
    Sistema bancario con arquitectura MVC, backend en Spring Boot y persistencia en PostgreSQL. Enfoque en transacciones e inyección de dependencias.


Lenguaje Rust

  • Nodo Bitcoin: Implementación de un nodo Bitcoin completo, con todas las funcionalidades clave como minería de bitcoins, creación de billeteras virtuales y gestión de transacciones. Incluye una interfaz gráfica desarrollada con GTK.
  • Desarrollo de un juego de ajedrez.
  • ConcuRide: Simulación de una aplicación distribuida para conectar pasajeros y conductores. Implementación distribuida con foco en concurrencia, eficiencia y escalabilidad.
  • Ejecución de una consulta sobre un dataset de Kaggle de forma distribuida y concurrente.
  • Implementación de un juego multijugador de batalla naval, concurrente con múltiples hilos.

Lenguaje Ruby

  • Los proyectos en Ruby siguen la metodología ágil SCRUM, con un fuerte enfoque en BDD y TDD.
  • RESP-API: Implementación de una API REST y un bot de Telegram para la gestión de un restaurante. Este proyecto destaca por el uso de arquitectura hexagonal, microservicios y la integración de una base de datos. Se trabajó en equipo para desarrollar una estructura escalable.
  • Ejercicios individuales para familiarización con Ruby y metodologías orientada a pruebas.
  • Proyectos orientados a la programación en pareja, aplicando metodologías ágiles y pair programming.
  • Ejercicios grupales diseñados para el manejo de metodologías ágiles en equipos.

Lenguaje Python

  • Aplicación para realizar consultas sobre datasets de forma distribuida y concurrente, utilizando RabbitMQ para la comunicación entre nodos. Es un sistema escalable y tolerante a fallos, ideal para el análisis de datos en entornos distribuidos.
  • Conjunto de ejercicios orientados a la práctica de ejecución distribuida, comunicación entre procesos, concurrencia y uso de contenedores con Docker.
  • Varios enunciados sobre consultas a bases de datos, utilizando bibliotecas como Spark, scikit-learn, y matplotlib para machine learning y visualización de datos.
  • Implementación de un sistema de transferencia de archivos a bajo nivel con filtros personalizados.
  • Implementación de un firewall con reglas personalizables utilizando SDN.

Lenguaje Java

  • Desarrollo de un sistema bancario siguiendo el patrón Model View Controller (MVC) con Spring Boot. Se utiliza una base de datos PostgreSQL con inyección de dependencias y manejo de transacciones.

Lenguaje C++

  • Dune2000: Implementación de un juego estilo Age of Empires con soporte para multijugador, utilizando threads y una interfaz gráfica desarrollada con una biblioteca específica.

Lenguaje C

  • Implementaciones de estructuras de datos como colas, listas enlazadas, grafos y pilas, organizadas en carpetas de enunciados y "parcialitos".
  • Fork: Implementación de procesos utilizando bifurcación.
  • Shell: Implementación de una shell básica.
  • Primera implementación de la función malloc a bajo nivel.
  • Expansión de la función malloc y desarrollo de un algoritmo de planificación (scheduling).
  • Desarrollo de un filesystem.

Lenguaje Node

  • REST API con backend y frontend que simula una plataforma estilo Goodreads, donde los usuarios pueden compartir libros, dejar reseñas, dar likes y realizar distintas interacciones. Combina tecnologías modernas del ecosistema Node.js para ofrecer una experiencia completa e interactiva.

Lenguaje Assembler

  • Enunciados básicos de Assembler que incluyen tareas como rotar matrices, iterar, realizar sumas y multiplicaciones.

Lenguaje Smalltalk

  • Enunciados desarrollados en Smalltalk con POO utilizando Pharo.

About

Algunos de los proyectos que desarrolle ya sea para las materias de la Universad de Buenos Aires o de forma mas personal

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages