Alberto's avatar

Alberto Nistal Calvo

Developer

1 year improving as a dev and supporting Codely
Spain, Valladolid
Standard

Completed courses

Object-Oriented Programming Best Practices

🪂 Object-Oriented Programming Best Practices

Javier FerrerRafa Gómez

Apply good OOP practices in your code to make it more maintainable.

Projections in Wallapop

🎦 Projections in Wallapop

Rafa Gómez

Learn how Wallapop manages projections in its systems.

Projections with Kafka

🧩 Projections with Kafka

Javier FerrerRafa Gómez

Learn to simplify your projections using Apache Kafka.

Practical Case: Aggregates and Read Model in DDD

📑 Practical Case: Aggregates and Read Model in DDD

Javier FerrerRafa Gómez

Learn practically how to model your Aggregates in a scalable, maintainable, and testable way.

Clean Code

🧽 Clean Code

Javier FerrerRafa Gómez

Apply Clean Code to your code to make it more maintainable, scalable, and testable.

Exceptions vs Errors [Domain Modeling]

💥 Exceptions vs Errors [Domain Modeling]

Javier FerrerRafa Gómez

Learn to model the errors that occur in your application in a maintainable way.

Transactions [Infrastructure Design]

🤝 Transactions [Infrastructure Design]

Javier FerrerRafa Gómez

Learn how and where to add transactions in your application to make it more maintainable.

Cache [Infrastructure Design]

💾 Cache [Infrastructure Design]

Javier FerrerRafa Gómez

Caches are a workaround, but a workaround in the right place improves the performance and maintainability of your application.

Views [Infrastructure Design]

👁️ Views [Infrastructure Design]

Javier FerrerRafa Gómez

Use views and materialized views to scale your application.

Projections [Domain Modeling]

📽️ Projections [Domain Modeling]

Javier FerrerRafa Gómez

Master Projections in software design to make your applications more maintainable, scalable, and testable.

Design Patterns: Criteria

🎼 Design Patterns: Criteria

Javier FerrerRafa Gómez

Use the Criteria Design Pattern to adhere to SOLID principles in your use cases and repositories.

Issues with DDD: Error Handling in Domain Events

🌩️ Issues with DDD: Error Handling in Domain Events

Javier FerrerRafa Gómez

Delve into the main issues when publishing and consuming domain events.

Domain Modeling: Domain Events

🐉 Domain Modeling: Domain Events

Javier FerrerRafa Gómez

Master Domain Events in software design and make your applications more maintainable, scalable, and testable.

Aggregates [Domain Modeling]

🫚 Aggregates [Domain Modeling]

Javier FerrerRafa Gómez

Master Aggregates in software design and make your applications more maintainable, scalable, and testable.

Repositories [Domain Modeling]

🗃️ Repositories [Domain Modeling]

Javier FerrerRafa Gómez

The Repository pattern is one of the easiest to understand, but also one of the easiest to implement incorrectly. In the course, we see how to avoid this.

Value Objects [Domain Modeling]

🧲 Value Objects [Domain Modeling]

Javier FerrerRafa Gómez

The Value Object pattern is one of the most well-known, but also one of the most hated. In the course, we see how to make the most of it and how to facilitate its use to turn that hate into love.

Behavioral Design Patterns

🐝 Behavioral Design Patterns

Dani SantamariaRafa Gómez

Learn the implications at the SOLID level and maintenance of Behavioral Design Patterns.

Design Patterns: Creational

🏭 Design Patterns: Creational

Dani SantamariaJavier Ferrer

Learn the implications at the SOLID level and maintenance of Creational Design Patterns.

Refactoring Code Smells to Clean Code: Change Preventers

🧹 Refactoring Code Smells to Clean Code: Change Preventers

Javier FerrerRafa GómezDani Santamaria

Learn to detect and deal with code that generates resistance to change. A course focused on Code Smells of the Change Preventers type.

Refactoring Code Smells to Clean Code: Bloaters

🧼 Refactoring Code Smells to Clean Code: Bloaters

Rafa GómezJavier Ferrer

Learn to detect and deal with incomprehensible code 🤟

Bash for Everyday: Scripting & Productivity

💻 Bash for Everyday: Scripting & Productivity

Rafa Gómez

Learn to use the Swiss Army Knife of programmers 😬

Everything about dotfiles

🚀 Everything about dotfiles

Rafa Gómez

Learn to automate, centralize, and share all your configurations thanks to dotfiles.

Maximizing IntelliJ

Maximizing IntelliJ

Rafa GómezJavier Ferrer

Boost your productivity by maximizing IntelliJ! Achieve a minimalist look, create files with custom templates, secret shortcuts, and much more.

100% Productive Terminal with Zsh

👨‍💻 100% Productive Terminal with Zsh

Rafa GómezJavier Ferrer

Achieve being a Productivity Raptor™ with your terminal thanks to Zsh, Oh My Zsh, Zim, and advanced functions.

DDD in Java

DDD in Java

Rafa GómezJavier Ferrer

Step by step create your Java application following Domain-Driven Design. Folder structure, integration with DB, queue system, CQRS and more.

Git: Introduction and Team Work

🔀 Git: Introduction and Team Work

Rafa GómezJavier Ferrer

Learn to work in a team with Git and make the most of advanced aspects such as debugging, merge strategies, and much more.

Testing: Introduction and Best Practices

Testing: Introduction and Best Practices

Javier FerrerRafa Gómez

Learn what testing brings, how to test, and best practices to prevent maintaining your tests from becoming a nightmare with examples from The Real World™

Domain-Driven Design: DDD Applied

🗿 Domain-Driven Design: DDD Applied

Javier FerrerRafa Gómez

Learn to model your applications focusing on your domain, define Bounded Contexts, aggregates, value objects, and much more. All in a practical way with code examples.

Applied SOLID Principles

🧱 Applied SOLID Principles

Javier FerrerRafa Gómez

If you already know how to develop software but want to take a step further and improve the quality of your code, this is your course

Communication Between Microservices: Event-Driven Architecture

💬 Communication Between Microservices: Event-Driven Architecture

Javier FerrerRafa Gómez

Publish and consume domain events, eventual consistency, RabbitMQ and AWS SNS-SQS, migration from monolith to services, and much more.

Docker: From 0 to Deploy

🐳 Docker: From 0 to Deploy

Jose Armesto

Learn what Docker is and how to make the most of containers. Starting from the beginning, we will see how to use Docker to run your application locally as if it were in production, starting a database with Docker Compose.

Hexagonal Architecture

🎯 Hexagonal Architecture

Javier FerrerRafa Gómez

Domain-Driven Design relies on Hexagonal Architecture as one of its technical pillars. Learn how to implement it with CodelyTV!

AWS EC2: Your First Deploy

☁️ AWS EC2: Your First Deploy

Jose Armesto

Learn the basics of Amazon Web Services to deploy your application in the cloud. Create your own VPC, choose the right EC2 instance, configure SSH, select your base AMI, define Security Groups, deploy, and configure Route53 as DNS!

CQRS: Command Query Responsibility Segregation

🚌 CQRS: Command Query Responsibility Segregation

Javier FerrerRafa Gómez

Increase the performance and decoupling of your backend through CQRS. We will explore concepts and implementations of synchronous and asynchronous buses.

Courses in progress

Data Migration: From Legacy to Event-Driven Architecture
90%

📥 Data Migration: From Legacy to Event-Driven Architecture

Javier FerrerRafa Gómez

Learn how to migrate data from legacy code to an event-driven architecture.

TDD: Test-Driven Development
8%

♻️ TDD: Test-Driven Development

Dani SantamariaJavier Ferrer

Learn Test-Driven Development (TDD) and the different ways and styles to apply it in Real World™️ applications