Packages

Multi-surface application runtime for Elixir. One TEA module renders to terminal, browser (LiveView), SSH, and MCP (agents). 30+ widgets, flexbox + CSS grid, AI agent runtime, distributed swarm with CRDTs, time-travel debugging, session recording, sandboxed REPL, and agentic commerce.

Current section

Files

Jump to
raxol docs video_tutorials series_outline.md
Raw

docs/video_tutorials/series_outline.md

# Raxol Video Tutorial Series
## Complete Learning Path: Zero to Hero
**Target Audience**: Developers new to Raxol and terminal UI development
**Total Episodes**: 10
**Estimated Total Runtime**: 6-8 hours
**Format**: Screencast + live coding + practical exercises
---
## Episode 1: "Welcome to Raxol - Building Your First Terminal App"
**Duration**: 45 minutes
**Level**: Beginner
### Learning Objectives
- Understand what Raxol is and why it exists
- Set up development environment
- Create and run your first Raxol application
- Understand the basic component model
### Content Outline
1. **Introduction** (5 min)
- What is Raxol? Terminal UI framework overview
- Comparison with web frameworks (React, Vue)
- When to use Raxol vs other solutions
2. **Installation & Setup** (10 min)
- System requirements and dependencies
- Installing Elixir and Raxol
- IDE/editor setup and recommended extensions
- Verifying installation
3. **Hello World Application** (15 min)
- Creating a new Raxol project
- Understanding the project structure
- Writing your first component
- Running and viewing the application
4. **Basic Concepts** (10 min)
- Components and render functions
- Props and state management
- Event handling basics
- Terminal coordinate system
5. **Hands-on Exercise** (5 min)
- Modify the hello world app
- Add color and styling
- Handle a simple button click
### Resources
- Episode code repository
- Installation troubleshooting guide
- Quick reference card
---
## Episode 2: "Components Deep Dive - Building Interactive Elements"
**Duration**: 50 minutes
**Level**: Beginner-Intermediate
### Learning Objectives
- Master component creation and composition
- Understand props and state flow
- Build reusable UI elements
- Handle user interactions
### Content Outline
1. **Component Architecture** (15 min)
- Component lifecycle and render cycle
- Props vs state - when to use each
- Component composition patterns
- Best practices for component design
2. **Building Interactive Components** (20 min)
- Creating a button component with variants
- Building a text input with validation
- Implementing a toggle/checkbox component
- Adding keyboard shortcuts
3. **State Management** (10 min)
- Local component state
- Lifting state up
- State patterns and anti-patterns
- Performance considerations
4. **Practical Project** (5 min)
- Build a simple calculator
- Combine multiple components
- Handle complex user interactions
### Demo Application
Interactive calculator with buttons, display, and keyboard support
---
## Episode 3: "Layout and Styling - Making Beautiful Terminal UIs"
**Duration**: 40 minutes
**Level**: Intermediate
### Learning Objectives
- Master terminal layout techniques
- Understand color and theming systems
- Create responsive terminal layouts
- Apply advanced styling techniques
### Content Outline
1. **Terminal Layout Fundamentals** (15 min)
- Grid and flexbox-like layouts
- Positioning and alignment
- Handling different terminal sizes
- Layout debugging techniques
2. **Color and Theming** (15 min)
- ANSI color system overview
- Creating color schemes and themes
- Supporting light/dark modes
- Accessibility considerations
3. **Advanced Styling** (10 min)
- Borders, boxes, and decorative elements
- Animation and transitions
- Custom styling patterns
- Performance optimization
### Demo Application
Terminal dashboard with multiple panels, themes, and responsive layout
---
## Episode 4: "Data and Lists - Displaying Dynamic Content"
**Duration**: 45 minutes
**Level**: Intermediate
### Learning Objectives
- Handle dynamic data in terminal apps
- Build efficient list and table components
- Implement search and filtering
- Manage large datasets
### Content Outline
1. **Data Flow Patterns** (10 min)
- Fetching and managing data
- Real-time updates and subscriptions
- Error handling and loading states
- Data transformation techniques
2. **List Components** (20 min)
- Building scrollable lists
- Virtual scrolling for performance
- List item selection and multi-select
- Keyboard navigation
3. **Table Components** (10 min)
- Creating data tables with sorting
- Filtering and search functionality
- Column resizing and customization
- Pagination strategies
4. **Performance Optimization** (5 min)
- Efficient rendering techniques
- Memory management
- Profiling and debugging
### Demo Application
File browser with search, filtering, and detailed view
---
## Episode 5: "Forms and Input - Collecting User Data"
**Duration**: 40 minutes
**Level**: Intermediate
### Learning Objectives
- Build comprehensive form interfaces
- Implement validation and error handling
- Create custom input components
- Handle complex form workflows
### Content Outline
1. **Form Architecture** (10 min)
- Form state management
- Validation strategies
- Error handling and display
- Submission and persistence
2. **Input Components** (20 min)
- Text inputs with validation
- Select dropdowns and autocomplete
- Multi-line text areas
- Date/time pickers
- File selection interfaces
3. **Advanced Form Patterns** (10 min)
- Dynamic forms and conditional fields
- Form wizards and multi-step processes
- Keyboard shortcuts and navigation
- Auto-save and draft functionality
### Demo Application
User registration form with validation, multi-step wizard, and file upload
---
## Episode 6: "Real-time Updates - Building Live Applications"
**Duration**: 45 minutes
**Level**: Advanced
### Learning Objectives
- Implement real-time data updates
- Handle WebSocket connections
- Build live monitoring interfaces
- Optimize for real-time performance
### Content Outline
1. **Real-time Architecture** (15 min)
- Phoenix LiveView integration
- WebSocket communication patterns
- Event-driven updates
- Connection management
2. **Building Live Interfaces** (20 min)
- Live data visualization
- Real-time notifications
- Collaborative features
- Conflict resolution
3. **Performance Optimization** (10 min)
- Efficient update patterns
- Throttling and debouncing
- Memory leak prevention
- Connection resilience
### Demo Application
Live system monitor with real-time CPU, memory, and network graphs
---
## Episode 7: "Navigation and Routing - Multi-Screen Applications"
**Duration**: 40 minutes
**Level**: Intermediate-Advanced
### Learning Objectives
- Implement navigation patterns
- Build multi-screen applications
- Handle deep linking and state restoration
- Create intuitive user flows
### Content Outline
1. **Navigation Patterns** (15 min)
- Screen-based navigation
- Modal and overlay patterns
- Breadcrumb navigation
- Back/forward history
2. **Routing Implementation** (15 min)
- URL-based routing concepts
- Route parameters and queries
- Protected routes and authentication
- Navigation guards
3. **State Management** (10 min)
- Global application state
- Screen transition animations
- State persistence and restoration
- Memory management
### Demo Application
Multi-screen terminal email client with navigation, search, and compose views
---
## Episode 8: "Testing and Debugging - Building Reliable Applications"
**Duration**: 35 minutes
**Level**: Intermediate-Advanced
### Learning Objectives
- Write comprehensive tests for terminal apps
- Master debugging techniques
- Implement error handling strategies
- Ensure application reliability
### Content Outline
1. **Testing Strategies** (15 min)
- Unit testing components
- Integration testing workflows
- Visual regression testing
- Performance testing
2. **Debugging Techniques** (10 min)
- Using built-in debugging tools
- Terminal-specific debugging challenges
- Performance profiling
- Memory leak detection
3. **Error Handling** (10 min)
- Graceful degradation strategies
- Error boundaries and recovery
- Logging and monitoring
- User-friendly error messages
### Demo Application
Adding comprehensive tests and debugging to previous examples
---
## Episode 9: "Performance and Optimization - Scaling Your Applications"
**Duration**: 50 minutes
**Level**: Advanced
### Learning Objectives
- Optimize rendering performance
- Implement efficient data structures
- Handle memory management
- Scale to production environments
### Content Outline
1. **Rendering Optimization** (20 min)
- Virtual DOM concepts for terminals
- Efficient update strategies
- Batch rendering techniques
- Animation performance
2. **Memory Management** (15 min)
- Understanding memory patterns
- Garbage collection optimization
- Memory leak prevention
- Resource cleanup strategies
3. **Production Considerations** (15 min)
- Deployment strategies
- Monitoring and observability
- Error tracking and alerting
- Performance metrics
### Demo Application
Optimizing a complex dashboard application for production use
---
## Episode 10: "Advanced Patterns and Production - Building Enterprise Applications"
**Duration**: 60 minutes
**Level**: Advanced
### Learning Objectives
- Implement advanced architectural patterns
- Build scalable, maintainable applications
- Deploy and monitor production systems
- Extend Raxol with custom functionality
### Content Outline
1. **Advanced Architecture** (20 min)
- Plugin and extension systems
- Micro-frontend patterns
- State management libraries
- Code organization strategies
2. **Enterprise Features** (20 min)
- Authentication and authorization
- Multi-tenant applications
- Internationalization (i18n)
- Accessibility compliance
3. **Production Deployment** (20 min)
- Containerization with Docker
- CI/CD pipeline setup
- Monitoring and logging
- Performance optimization
- Security considerations
### Demo Application
Complete enterprise-grade terminal application with all advanced features
---
## Series Resources
### Supplementary Materials
- **Code Repository**: Complete source code for all episodes
- **Exercises**: Hands-on challenges and solutions
- **Cheat Sheets**: Quick reference guides
- **Community**: Discord/forum for questions and discussion
### Learning Paths
1. **Beginner Path**: Episodes 1-3 → Basic project
2. **Intermediate Path**: Episodes 1-7 → Production-ready app
3. **Advanced Path**: All episodes → Enterprise application
### Prerequisites
- Basic Elixir knowledge (recommended)
- Terminal/command line familiarity
- General programming concepts
- No prior UI framework experience required
### Technical Requirements
- Elixir 1.15+
- Terminal with ANSI support
- Git for version control
- Text editor/IDE
- 4GB+ RAM recommended
### Assessment and Certification
- Episode quizzes and coding challenges
- Final capstone project
- Community code review
- Optional certificate of completion
---
## Production Notes
### Recording Setup
- Screen recording at 1080p minimum
- Clear audio with noise cancellation
- Consistent code font and terminal theme
- Smooth cursor movements and typing
- Picture-in-picture for instructor when helpful
### Post-Production
- Chapter markers for easy navigation
- Closed captions for accessibility
- Speed controls for different learning paces
- Downloadable resources and code
- Integration with learning management system
### Distribution Channels
- Raxol official documentation site
- YouTube with playlist organization
- Embedded in interactive playground
- Integration with command palette help system