Estoy interesado en diseñar aplicaciones web escalables, mantenibles y fáciles de evolucionar.
Trabajo con principios de arquitectura, encapsulación de responsabilidades y buenas prácticas de desarrollo.
Disfruto participando en todo el proceso de construcción, desde la interfaz de usuario hasta la lógica de negocio y la persistencia de datos.
Me interesa construir aplicaciones que puedan evolucionar con facilidad.
Application
├── DTOs
│ ├── BookingResponse.cs
│ ├── BookingServiceResponse.cs
│ ├── CreateBookingRequest.cs
│ ├── CreateBookingServiceRequest.cs
│ ├── CreateUserRequest.cs
│ ├── RoomResponse.cs
│ ├── RoomTypeResponse.cs
│ ├── ServiceResponse.cs
│ ├── UpdateBookingRequest.cs
│ ├── UpdateUserRequest.cs
│ └── UserResponse.cs
├── Interfaces
│ ├── IBookingRepository.cs
│ ├── IBookingServiceRepository.cs
│ ├── IRoomRepository.cs
│ ├── IRoomTypeRepository.cs
│ ├── IServiceRepository.cs
│ └── IUserRepository.cs
└── Services
└── BookingService.cs
Domain
├── Bookings
│ ├── Booking.cs
│ └── BookingService.cs
├── Hotel
│ ├── HotelConfig.cs
│ ├── Room.cs
│ ├── RoomType.cs
│ └── Service.cs
├── Services
│ ├── AvailabilityService.cs
│ ├── DiscountService.cs
│ ├── PricingService.cs
│ └── SavingService.cs
└── Users
└── User.cs
Infrastructure
├── Data
│ ├── bookings.json
│ ├── bookingServices.json
│ ├── rooms.json
│ ├── roomTypes.json
│ ├── services.json
│ └── users.json
└── Repositories
├── InMemoryBookingRepository.cs
├── InMemoryBookingServiceRepository.cs
├── InMemoryRoomRepository.cs
├── InMemoryRoomTypeRepository.cs
├── InMemoryServiceRepository.cs
└── InMemoryUserRepository.cs
-
Senda Animal
Sitio web informativo sobre un zoológico ficticio desarrollado con Angular.
Se basa en una estructura modular por funcionalidades (core, features, shared) mediante el aislamiento de la lógica de negocio, la capa de datos y la UI.
Implanté repositorios para abstraer el origen de los datos, estrategias para gestionar reglas de precios y matriculaciones, y factories para la creación de entidades. Incluye, además, una autenticación con guards y soporte de internacionalización (i18n).
El dominio es ficticio, pero la arquitectura está pensada para ser mantenible y testeable en un entorno real.
-
Angular
-
SCSS
-
TypeScript
-
Feature-based architecture
-
SOLID
-
Patrones de diseño
-
-
Bestashop
Aplicación web de demostración de una tienda online desarrollada con Angular. Incluye catálogo de productos, filtros, carrito de compra y gestión de sesión de usuario.
El objetivo de este proyecto fue practicar la arquitectura de una aplicación frontend basada en componentes. Implementé un catálogo de productos con búsqueda, filtros y ordenación, así como un carrito de compra persistente utilizando LocalStorage.
Durante el desarrollo trabajé con Angular y RxJS para gestionar el flujo de datos mediante Observables y servicios compartidos. También implementé la comunicación entre componentes mediante inputs, outputs y servicios para mantener un estado consistente en la aplicación.
-
Angular
-
SCSS
-
TypeScript
-
Type-based architecture
-
SOLID
-
Patrones de diseño
-
SCRUM
-
Kanban
-
-
Analizador de minerales
Una aplicación en Angular para practicar y demostrar arquitectura y buenas prácticas de código.
Desarrollé la aplicación enfocándome en cómo organizar el código de manera mantenible. Intenté aplicar patrones de diseño específicos (como Inyección de Dependencias, Servicios o Repository) y los principios SOLID para separar claramente las responsabilidades.
Por ejemplo, creé servicios independientes para manejar la lógica de negocio y componentes dedicados solo a mostrar la información. También experimenté con el diseño de la interfaz para hacerla funcional.
-
Angular
-
SCSS
-
TypeScript
-
Type-based architecture
-
SOLID
-
Patrones de diseño
-
-
Hotel Argyros
Para este proyecto estoy haciendo una API en .NET sobre un hotel ficticio, organizada con Clean Architecture para mantener el dominio, la aplicación y la infraestructura bien separados.
La lógica de negocio (precios, disponibilidad, descuentos y guardado) vive en el dominio, y los repositorios se encargan de los datos.
El backend ya tiene los endpoints REST funcionando con DTOs que separan lo que entra y sale de los modelos internos. El frontend en Angular todavía lo estoy desarrollando, pero el backend ya se puede probar y usar de forma aislada.
-
Angular
-
.NET
-
SCSS
-
TypeScript
-
C#
-
Feature-based architecture
-
Hexagonal architecture
-
SOLID
-
Patrones de diseño
-
-
Librería Pirámide
Este proyecto es el remaster de la primera aplicación que hice cuando terminé el grado. Con esta nueva versión quería aplicar todo lo que he aprendido desde entonces, sobre todo en diseño y estructura de interfaz.
Está montado con Vue y TypeScript, y aunque he organizado la lógica en servicios y repositorios, el peso real del proyecto está en la capa visual. He trabajado el layout con Grid y Flexbox hasta que cada sección encajara.
Quería que una librería ficticia se sintiera ordenada y cuidada al navegar, no solo funcional.
Aún continúo trabajando en ella.
-
Vue.js
-
TypeScript
-
Type-based architecture
-
SOLID
-
Patrones de diseño
-
-
Lenguajes
HTML
CSS
TypeScript
JavaScript
PHP
Python
C#
Java
-
Frameworks
Angular
React
Vue.JS
.NET
Laravel
Node.JS
-
Data
MongoDB
MariaDB
MySQL
-
DevOps & Tools
Docker
Git
GitLab
GitHub
-
Arquitectura
Principios S.O.L.I.D.
Patrones de diseño
Clean Code
Arquitectura Hexagonal
Arquitectura Feature-based
Arquitectura Type-based
-
Metodologías
SCRUM
Kanban
-
Inglés
-
Comprensión
Entiendo sin problemas textos técnicos, de desarrollo y textos literarios; y conversaciones sobre temas cotidianos y técnicos.
-
Expresión
Puedo mantener conversaciones con relativa fluidez; y escribo textos claros, tanto cotidianos como técnicos.
-
Comprensión
-
Francés
-
Comprensión
Entiendo sin problemas textos técnicos, de desarrollo y textos literarios; aunque me cuesta algo más comprender las conversaciones.
-
Expresión
Puedo escribir textos claros tanto cotidianos como técnicos; pero me cuesta más mantener conversaciones fluidas.
-
Comprensión
Soy un desarrollador de aplicaciones web apasionado por crear soluciones innovadoras y eficientes.
Me considero una persona tranquila, sensata y muy dedicada a lo que hace. Me implico de verdad en aprender, mejorar y hacer las cosas bien.
Mi forma de trabajar es cuidadosa y paciente: analizo, pregunto cuando hace falta y busco soluciones sólidas antes que rápidas.
Me gusta rodearme de equipos donde haya respeto, aprendizaje y ganas de construir proyectos de calidad.
¿Tienes alguna pregunta o quieres hablar sobre una oportunidad profesional? Estaré encantado de atenderte por el medio que te resulte más cómodo.
Puedes contactar conmigo por teléfono, correo electrónico o a través de LinkedIn. Responderé con la mayor brevedad posible.
Contacto directo
ajaragon@proton.meTeléfono de contacto
673-326-226
Ecosistema profesional
@ 2026 Andrés Aragón