Table of Contents

Next Steps

Congratulations on getting started with JD.Domain! This guide helps you plan your learning journey based on your workflow and goals.

Learning Paths

Choose your learning path based on the workflow you selected:

Path 1: Code-First Development

For developers building new applications with domain-driven design:

Foundation (1-2 hours)

  1. Quick Start - You've completed this!
  2. 📖 Domain Modeling Tutorial - Learn the modeling DSL
  3. 📖 Business Rules Tutorial - Define invariants, validators, and policies

Integration (2-3 hours)

  1. 📖 EF Core Integration - Apply configurations to DbContext
  2. 📖 ASP.NET Core Integration - Add middleware and endpoint filters

Advanced (3-4 hours)

  1. 📖 Source Generators - Generate rich domain types
  2. 📖 Version Management - Track domain evolution with snapshots

Total Time: 6-9 hours

Next: Code-First Walkthrough

Path 2: Database-First Development

For developers working with existing databases:

Foundation (1-2 hours)

  1. Quick Start - You've completed this!
  2. 📖 Business Rules Tutorial - Add rules to existing entities
  3. 📖 Database-First Walkthrough - Complete example with scaffolded entities

Integration (2-3 hours)

  1. 📖 ASP.NET Core Integration - Validate API requests
  2. 📖 Source Generators - Generate rich wrappers for EF entities

Advanced (2-3 hours)

  1. 📖 Hybrid Workflow - Mix code-first and database-first
  2. 📖 Version Management - Track schema evolution

Total Time: 5-8 hours

Next: Database-First Walkthrough

Path 3: Hybrid/Migration

For teams migrating from anemic models or legacy systems:

Foundation (2-3 hours)

  1. Quick Start - You've completed this!
  2. 📖 Database-First Walkthrough - Start with existing database
  3. 📖 Business Rules Tutorial - Add rules to legacy code

Version Management (3-4 hours)

  1. 📖 Snapshot and Diff - Create snapshots of current state
  2. 📖 Hybrid Workflow - Mix old and new approaches
  3. 📖 Migration from Anemic Models - Gradual migration strategy

Modernization (3-4 hours)

  1. 📖 Domain Modeling Tutorial - Rebuild critical domains in DSL
  2. 📖 Source Generators - Generate construction-safe types

Total Time: 8-11 hours

Next: Hybrid Workflow Tutorial

Topic-Based Learning

Prefer to learn specific topics? Browse by feature:

Domain Modeling

Learn how to define entities, value objects, and enums:

Time: 2-3 hours

Business Rules

Learn how to create and compose rules:

Time: 3-4 hours

EF Core Integration

Learn how to integrate with Entity Framework Core:

Time: 2-3 hours

ASP.NET Core Integration

Learn how to validate requests in web APIs:

Time: 2-3 hours

Source Generators

Learn how to generate code from domain definitions:

Time: 2-3 hours

Version Management

Learn how to track domain evolution:

Time: 2-3 hours

Hands-On Practice

Sample Applications

Explore working examples in the repository:

  1. Code-First Sample

    • Complete code-first workflow
    • Domain modeling with DSL
    • EF Core integration
    • ASP.NET Core validation
  2. Database-First Sample

    • Scaffolded EF entities
    • Added business rules
    • Rich domain type generation
    • Runtime validation
  3. Hybrid Sample

    • Mixed code-first and database-first
    • Snapshot creation and comparison
    • Migration planning
    • Version tracking

Build Your Own Project

Apply what you've learned to your own project:

  1. Start Small - Pick one entity or aggregate
  2. Add Rules - Define basic invariants
  3. Validate - Test runtime validation
  4. Expand - Add more entities and rules
  5. Generate - Try source generators
  6. Integrate - Add ASP.NET Core middleware

Reference Materials

Keep these handy as you develop:

Essential Documentation

Conceptual Documentation

Advanced Topics

Common Next Steps

Based on where you are in your journey:

If You Just Finished Quick Start

Recommended:

  1. Choose your workflow: Choose Your Workflow
  2. Follow the appropriate tutorial
  3. Explore sample applications

If You're Evaluating JD.Domain

Recommended:

  1. Review Architecture Overview
  2. Check Design Principles
  3. Compare with Migration from FluentValidation

If You're Ready to Build

Recommended:

  1. Follow workflow-specific tutorial
  2. Reference How-To Guides
  3. Use API Reference

If You're Migrating

Recommended:

  1. Read Migration from Anemic Models
  2. Follow Hybrid Workflow Tutorial
  3. Use Version Management Tools

Skill Level Roadmap

Beginner (0-10 hours)

Goals:

  • Understand opt-in architecture
  • Define simple business rules
  • Validate entities at runtime
  • Integrate with EF Core or ASP.NET Core

Resources:

  • Getting Started guides (this section)
  • Basic tutorials
  • Simple how-to guides

Intermediate (10-30 hours)

Goals:

  • Model complex domains with DSL
  • Use source generators effectively
  • Track domain evolution with snapshots
  • Compose and reuse rule sets

Resources:

  • Advanced tutorials
  • Conceptual documentation
  • Sample applications
  • Reference documentation

Advanced (30+ hours)

Goals:

  • Build custom generators
  • Optimize for high-performance scenarios
  • Integrate with custom frameworks
  • Contribute to JD.Domain

Resources:

  • Advanced topics
  • Source code exploration
  • Contributing guidelines
  • Architecture deep dives

Getting Help

Documentation

  • Search - Use the search feature in the documentation site
  • API Reference - Browse complete API documentation
  • Samples - Check the working examples

Community

  • GitHub Issues - Ask questions or report bugs
  • Discussions - Share ideas and get feedback

Best Practices

  • Start simple - Don't try to use every feature at once
  • Follow examples - Use sample applications as templates
  • Ask questions - Don't hesitate to open a GitHub issue
  • Share feedback - Help improve JD.Domain

Summary

You've completed the Getting Started section! Here's what you've learned:

✅ What JD.Domain is and why you should use it ✅ How to install required packages ✅ How to build your first domain model ✅ How to choose the right workflow for your project

Your next steps depend on your workflow:

Additional Resources

Keep Learning

Stay Updated

Happy coding with JD.Domain!