Course of DDD in TypeScript: Modeling and Architecture

Fernando VilasRubén SaladoJavier Ferrer

By Fernando Vilas, Rubén Salado y Javier Ferrer Software Design and Architecture

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

💸 First lesson free!

Complete course to create applications in TypeScript following the tactical and strategic patterns of DDD

What we will cover in this Domain-Driven Design course in TypeScript

  1. 🚀 Project creation: Bounded Context and Submodules - Folder structure

    • 👋 [FREE] Welcome to the course: Objectives, what will we do?
    • 📂 Folder structure: DDD in TypeScript
    • ⚡ Create your TypeScript application following DDD in 5 minutes
  2. 👩‍⚕️ Health check of the application: Our first endpoint

    • 🔚📍Create health check endpoint: Asynchronous controllers with Express and dynamic route declaration
    • 💉 Dependency injection container to avoid repeating instantiation logic
    • ✅ Add Continuous Integration: Acceptance tests
  3. ♻️ Outside-in Development: Implementation of the use case to create a course

    • ☝️ Implementation of the endpoint and acceptance test
    • 🔥 Implementation of the use case and unit test
    • 🙆‍♂️ Implementation of the repository in file and integration test
  4. 💪 Refactoring leveraging the potential of TypeScript

    • 🔀 More semantic and maintainable mocks
    • 🙋 Request validation: Types are your friends
  5. 👤 Modeling the domain: Course Aggregate

    • ⛏️ Using Request and Response objects to communicate with the Application Service
    • 🔮 Refactoring to UUIDs as identifiers
    • 💌 Aggregate constructor with Parameter Object+Destructuring
  6. ✅ Modeling the domain: Value Objects and Implications in tests

    • 👥 Value Objects: Immutability and tips to speed up development
    • 🏗️ ObjectMother pattern for our tests
  7. 🧐 Saving in database with Mongo

    • 🙊 Mongo integration to save in the database for each Bounded Context
    • ✋ Avoid Mongo from leaking into your domain
    • 🏰 Speed up repository creation
  8. 💼 Databases: How to approach tests and tips for production

    • ✅ Mongo integration test
    • 🌼 Advanced tips for Mongo in production
    • 👀 Optimize Mongo documents of your aggregates
  9. 🐘 Storage alternative with PostgreSQL and TypeORM

    • ✨ Repository for PostgreSQL with TypeORM Abstracting ValueObjects
    • 🤟 PostgreSQL integration test
  10. 🔜 Conclusion and next steps

  • 🤯 The tests deceive me
  • 💪 Conclusions and next steps

Related courses

This course complements the following courses:

We recommend that if this is the first time you've heard about these concepts, you first take the courses in the list and then come back to this one. That way you will have clearer concepts and make much more of this course, as we will get straight to the point 😬🚀

For just €29 you have access to all courses!

Here is the first video of the course so you can get an idea of the quality of the content 😬

Videos of the course

Related courses

See full catalogue

Pay according to your needs

lite (only monthly)

19 €
per month
  • Access to a subset of courses to lay the foundation for maintainable, scalable, and testable code
  • Company invoice
Popular

standard

24,92 €
Save 121
Annual payment of 299
per month
  • Full course catalog
  • Design and architecture challenges
  • Highlighted solutions videos for challenges
  • Receive job offers verified by Codely
  • Company invoice

premium

41,58 €
Save 89
Annual payment of 499
per month
  • Everything above
  • More benefits coming soon

We won’t increase the price while your subscription is active