Skip to content

"Build with AI: Data Pipelines and Stream Processing with Deno

paiml/data-pipelines-deno-typescript-course

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Data Pipelines with Deno: EU to USA Conversion Course

Deno TypeScript Coverage SATD

Build production-grade data pipelines with Deno, TypeScript, and AI-assisted programming. Focus on real-world EU to USA data conversion scenarios with zero technical debt.

🎯 Course Overview

This comprehensive 4-week course teaches you to build high-performance data pipelines using Deno's modern runtime. You'll master EU to USA data conversions while learning enterprise-grade project management with PMAT and AI-first development practices.

What You'll Build

A complete, production-ready pipeline that converts:

  • πŸ’± Currency: EUR β†’ USD with real-time rates
  • πŸ“ Units: Metric β†’ Imperial (meters β†’ feet, Celsius β†’ Fahrenheit)
  • πŸ“… Dates: DD/MM/YYYY β†’ MM/DD/YYYY
  • πŸ”’ Numbers: 1.234,56 β†’ 1,234.56
  • 🏠 Addresses: EU format β†’ USA format
  • πŸ“ž Phone: +44 β†’ +1 formats
  • πŸ’° Tax: VAT β†’ Sales Tax
  • πŸ”’ Privacy: GDPR β†’ CCPA compliance

Performance Targets

  • ⚑ Latency: <100ms P99
  • πŸš„ Throughput: >10,000 records/second
  • πŸ“Š Reliability: 99.99% uptime
  • πŸ§ͺ Quality: 90% test coverage, 0 technical debt

🚦 Quick Start

Prerequisites

# Required versions
deno --version  # >=2.0.0
git --version   # >=2.40.0

# Optional but recommended
node --version  # >=20.0.0 (for tooling)
docker --version # >=24.0.0

Installation

# Clone the repository
git clone https://github.com/yourusername/data-pipelines-deno-typescript-course.git
cd data-pipelines-deno-typescript-course

# Initialize Deno configuration
deno task init

# Run initial tests
deno task test

# Start development
deno task dev

πŸ“š Course Structure

Week 1: Foundations πŸ—οΈ

  • Deno runtime mastery
  • TypeScript strict mode
  • AI programming patterns
  • Basic converters (currency, units, dates)
  • Project: Multi-converter CLI tool

Week 2: Core Pipeline πŸ”§

  • Stream processing with Web Streams API
  • Backpressure handling
  • Error boundaries
  • Pipeline composition
  • Project: Streaming data pipeline

Week 3: Advanced Processing βš™οΈ

  • Complex conversions (address, tax, privacy)
  • Performance optimization
  • Caching strategies
  • Parallel processing
  • Project: High-performance pipeline

Week 4: Production Systems πŸš€

  • Deployment strategies
  • Monitoring and alerting
  • CI/CD pipeline
  • Performance validation
  • Final Project: Production EUβ†’USA pipeline

πŸ› οΈ Development

Project Structure

src/
β”œβ”€β”€ converters/           # Conversion modules
β”‚   β”œβ”€β”€ currency/        # EUR β†’ USD
β”‚   β”œβ”€β”€ units/          # Metric β†’ Imperial
β”‚   └── formats/        # Dates, numbers, etc.
β”œβ”€β”€ pipeline/           # Stream processing
β”‚   β”œβ”€β”€ ingestion/      # Input validation
β”‚   β”œβ”€β”€ transformation/ # Core conversions
β”‚   └── output/        # Delivery layer
└── shared/            # Common utilities
    β”œβ”€β”€ types/         # TypeScript types
    β”œβ”€β”€ utils/         # Helper functions
    └── constants/     # Configuration

Common Commands

# Development
deno task dev          # Start with watch mode
deno task test         # Run tests with coverage
deno task bench        # Run performance benchmarks

# Quality
deno task lint         # Lint code
deno task fmt          # Format code
deno task check        # Type check
deno task quality      # Run all quality checks

# Build
deno task build        # Compile for production
deno task deploy       # Deploy to Deno Deploy

πŸ› οΈ Deno Tools Demo

Try out all Deno tooling commands with our guaranteed-working demo files:

# Basic commands that work perfectly
deno check demo.ts         # βœ… Type check (no errors!)
deno fmt demo.ts           # βœ… Format code  
deno lint demo.ts          # βœ… Lint code
deno run demo.ts           # βœ… Run the demo
deno test demo.test.ts     # βœ… Run unit tests
deno bench demo.bench.ts   # βœ… Performance benchmarks
deno doc demo.ts           # βœ… Generate documentation
deno compile demo.ts       # βœ… Create executable

# Test all commands at once
./test-demo-commands.sh    # Automated verification

πŸ“š See DenoTools.md for complete documentation with examples.

⚑ Deno Task Runner Demo

Explore Deno's powerful task runner with our comprehensive examples:

# Demo tasks (guaranteed to work)
deno task demo:basic       # βœ… Run the demo app
deno task demo:test        # βœ… Run demo tests  
deno task demo:bench       # βœ… Run demo benchmarks
deno task demo:all         # βœ… Run all demo tasks

# Development workflow
deno task dev              # Start with file watching
deno task serve            # Start HTTP server
deno task quality          # Run all quality checks
deno task build            # Build for production

# Advanced task pipelines
deno task pipeline:quality # Format β†’ Lint β†’ Check β†’ Test
deno task pipeline:build   # Quality checks β†’ Build
deno task pipeline:deploy  # Build β†’ Deploy to staging

# Utility tasks
deno task clean            # Clean build artifacts
deno task health           # Run health checks
deno task info             # Show project information

πŸ”— See DemoTasks.md for complete task runner documentation with 50+ examples.

🎨 Ruchy Language Integration Demo

Explore advanced cross-language integration with our Ruchy programming language demo:

# Ruchy integration demo
deno task ruchy:demo           # βœ… Complete Deno Γ— Ruchy integration
deno task ruchy:demo:shell     # βœ… Interactive Ruchy shell via Deno

# Direct Ruchy commands (requires ruchy installation)
deno task ruchy:check          # Check if Ruchy is installed
deno task ruchy:eval           # Evaluate Ruchy expressions
deno task ruchy:repl           # Start Ruchy REPL
deno task ruchy:run            # Run Ruchy scripts
deno task ruchy:fmt            # Format Ruchy code
deno task ruchy:test           # Run Ruchy tests
deno task ruchy:ast            # Generate AST from Ruchy code

# Install Ruchy (requires Rust)
cargo install ruchy           # Install from crates.io

Demo Features:

  • πŸ”„ Bi-directional Integration: Deno TypeScript invokes Ruchy language
  • ⚑ Performance Comparison: Fibonacci benchmarks between languages
  • πŸ§ͺ Code Examples: Currency conversion, pattern matching, functional programming
  • 🌳 AST Generation: Parse and analyze Ruchy code structure
  • 🎯 Error Handling: Comprehensive error reporting and validation
  • πŸ” Syntax Checking: Validate Ruchy code before execution

πŸ“‹ See ruchy-demo.ts for complete implementation and examples.

πŸ“Š Quality Standards

Zero SATD Policy

  • ❌ No TODO, FIXME, HACK, or XXX comments
  • βœ… Complete implementations or create tickets
  • 🚨 Build fails on any SATD detection

Complexity Limits

  • Cyclomatic complexity: ≀10
  • Cognitive complexity: ≀15
  • Function length: ≀50 lines
  • File length: ≀300 lines

Coverage Requirements

  • Week 1: 70% minimum
  • Week 2: 80% minimum
  • Week 3: 85% minimum
  • Week 4: 90% minimum

πŸ€– AI Programming

This course emphasizes AI-assisted development:

  1. Specification-first: Write detailed specs, AI generates implementation
  2. Test-driven with AI: Define tests, AI creates code to pass them
  3. AI code review: Automated reviews for style and conventions
  4. Prompt patterns: Learn effective prompting for 10x productivity

Recommended Tools

πŸ“ˆ Progress Tracking

Current Sprint: Week 1 - Foundation Setup

  • Configure Deno development environment
  • Setup AI programming tools
  • Initialize PMAT configuration
  • Create project structure
  • Setup quality gates
  • Implement basic converters

Track detailed progress in ROADMAP.md

πŸ§ͺ Testing

# Run all tests
deno test

# Run specific test file
deno test src/converters/currency/eur-to-usd.test.ts

# Run with coverage
deno test --coverage=coverage

# Generate coverage report
deno coverage coverage --lcov > coverage.lcov

# Run benchmarks
deno bench

πŸš€ Deployment

Deno Deploy (Recommended)

# Install deployctl
deno install --allow-all --no-check -r -f https://deno.land/x/deploy/deployctl.ts

# Deploy to production
deployctl deploy --project=eu-usa-pipeline src/main.ts

Alternative Platforms

  • AWS Lambda with Deno Layer
  • Cloudflare Workers
  • Google Cloud Run
  • Docker containers

πŸ“– Documentation

🀝 Contributing

  1. Follow the Code of Conduct
  2. Check the ROADMAP.md for current tasks
  3. Create tickets for features >3 hours
  4. Maintain 90% test coverage
  5. Zero SATD policy applies

πŸ“ License

This course is proprietary educational content. See LICENSE for details.

πŸ™ Acknowledgments

  • Deno team for the amazing runtime
  • TypeScript team for the type system
  • Claude and GitHub Copilot for AI assistance
  • Toyota Production System for quality principles

Ready to build production-grade pipelines? Start with Week 1: Foundations β†’

About

"Build with AI: Data Pipelines and Stream Processing with Deno

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •