CoursesAI WorkshopCompaniesPricingBlogNewsletterCafé
  • Courses
  • AI Workshop
  • Companies
  • Pricing
  • Blog
  • Newsletter
  • Café
Subscribe
  • Courses
  • Companies
  • Communities
  • Blog
  • Gift card
  • Newsletter
  • Help
  • Shop
  • ConfAiBot
  • Contact
  • Legal notice
  • General conditions
  • Privacy policy
  • Cookies policy
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
New AI workshop for devs · early bird discount · Book your seat
SubscribeSign in
Premium
Alberto's avatar

Alberto Nistal Calvo

Developer

3 years improving as a dev and supporting Codely
Spain, Valladolid

Completed courses

Premium Exclusive
Spec-Driven Development with Research, Plan, Implement (RPI)

📜 Spec-Driven Development with Research, Plan, Implement (RPI)

Rafa GómezJavier Ferrer

Learn to apply RPI to reduce the gap between the code you expect and the code you get.

See course
Premium Exclusive
Agentic AI Programming: Practical Foundations

✨ Agentic AI Programming: Practical Foundations

Javier FerrerRafa Gómez

Develop using AI, following best practices in the most efficient way possible..

See course
Standard
Local AI: Privacy and Scalability

🏠 Local AI: Privacy and Scalability

Javier FerrerRafa Gómez

Learn how to use local models to add functionality to your app.

See course
Standard
Clean transactions [Debate]

🤲 Clean transactions [Debate]

Javier FerrerRafa Gómez

Debate where we look at alternatives on how to apply transactions.

See course
Standard
4 rules of simple design

👌 4 rules of simple design

Javier FerrerRafa Gómez

Learn the 4 rules for simpler code.

See course
Standard
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.

See course
Standard
Projections in Wallapop

🎦 Projections in Wallapop

Rafa Gómez

Learn how Wallapop manages projections in its systems.

See course
Standard
Projections with Kafka

🧩 Projections with Kafka

Javier FerrerRafa Gómez

Learn to simplify your projections using Apache Kafka.

See course
Standard
AI: Embeddings & RAG

🕵️ AI: Embeddings & RAG

Javier FerrerRafa Gómez

Learn and apply RAG to perform semantic searches in your database.

See course
Standard
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.

See course
Lite
Clean Code

🧽 Clean Code

Javier FerrerRafa Gómez

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

See course
Standard
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.

See course
Standard
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.

See course
Standard
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.

See course
Lite
Views [Infrastructure Design]

👁️ Views [Infrastructure Design]

Javier FerrerRafa Gómez

Use views and materialized views to scale your application.

See course
Standard
Add Artificial Intelligence Following Best Practices

🦙 Add Artificial Intelligence Following Best Practices

Javier FerrerRafa Gómez

Add AI to your website following software best practices.

See course
Standard
Projections [Domain Modeling]

📽️ Projections [Domain Modeling]

Javier FerrerRafa Gómez

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

See course
Standard
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.

See course
Standard
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.

See course
Standard
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.

See course
Standard
Aggregates [Domain Modeling]

🫚 Aggregates [Domain Modeling]

Javier FerrerRafa Gómez

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

See course
Lite
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.

See course
Standard
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.

See course
Standard
Behavioral Design Patterns

🐝 Behavioral Design Patterns

Dani SantamariaRafa Gómez

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

See course
Standard
TDD: Test-Driven Development

♻️ 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

See course
Standard
Audits and Support

🐷 Audits and Support

Javier FerrerRafa Gómez

Audit session in which the design and software architecture of part of your systems are reviewed, along with Support where we help you improve your learning.

See course
Standard
DDD in TypeScript: Modeling and Architecture

🔷 DDD in TypeScript: Modeling and Architecture

Fernando VilasRubén SaladoJavier Ferrer

Step by step create your TypeScript application following Domain-Driven Design.

See course
Lite
Design Patterns: Creational

🏭 Design Patterns: Creational

Dani SantamariaJavier Ferrer

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

See course
Standard
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.

See course
Lite
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 🤟

See course
Lite
Bash for Everyday: Scripting & Productivity

💻 Bash for Everyday: Scripting & Productivity

Rafa Gómez

Learn to use the Swiss Army Knife of programmers 😬

See course
Standard
Everything about dotfiles

🚀 Everything about dotfiles

Rafa Gómez

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

See course
Standard
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.

See course
Standard
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.

See course
Standard
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.

See course
Lite
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.

See course
Standard
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™

See course
Standard
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.

See course
Standard
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

See course
Standard
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.

See course
Standard
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.

See course
Standard
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!

See course
Standard
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!

See course
Standard
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.

See course

Courses in progress

Standard
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.

See course
Standard
Modern JavaScript
47%

🐥 Modern JavaScript

Núria SorianoJavier FerrerIsma Navarro

Learn best practices to start vanilla JavaScript applications from scratch and refactor legacy code to support older browsers.

See course