Unsplasharp Documentation - Table of Contents

Complete overview of all Unsplasharp documentation with detailed section breakdowns.

๐Ÿ“‹ Complete Documentation Index

๐Ÿ  Main Documentation Hub

  • Quick start guide
  • Core documentation overview
  • Navigation by use case and experience level
  • API overview and features
  • Installation instructions
  • External resources

๐Ÿš€ Getting Started Guide

  • Prerequisites and installation
  • Getting your API key
  • Basic setup (Console, ASP.NET Core)
  • Your first request
  • Common use cases with examples
  • Error handling introduction
  • Best practices overview
  • Next steps and sample projects

๐Ÿ”ง API Reference Guide

  • Client Initialization
    • Basic initialization
    • Dependency injection setup
  • Photo Methods
    • GetPhoto / GetPhotoAsync
    • GetRandomPhoto / GetRandomPhotoAsync
    • ListPhotos / ListPhotosAsync
  • Search Methods
    • SearchPhotos / SearchPhotosAsync
  • Collection Methods
    • GetCollection / GetCollectionAsync
    • ListCollections / ListCollectionsAsync
    • GetCollectionPhotos / GetCollectionPhotosAsync
    • SearchCollections / SearchCollectionsAsync
  • User Methods
    • GetUser / GetUserAsync
    • GetUserPhotos / GetUserPhotosAsync
    • GetUserLikes / GetUserLikesAsync
    • GetUserCollections / GetUserCollectionsAsync
  • Statistics Methods
    • GetTotalStats / GetTotalStatsAsync
    • GetMonthlyStats / GetMonthlyStatsAsync
  • Method Parameters
    • Common parameters
    • Photo-specific parameters
    • Search filters
  • Return Types
    • Photo model
    • Collection model
    • User model
    • URL types
  • Rate Limiting
    • Rate limit information
    • Handling rate limits
  • Best Practices
    • Exception-throwing methods
    • Error handling patterns
    • Cancellation tokens
    • Rate limit monitoring

๐Ÿ“Š Models Reference Guide

  • Photo Model
    • Properties and usage examples
    • Photo filtering and analysis
  • User Model
    • Properties and usage examples
    • User analysis utilities
  • Collection Model
    • Properties and usage examples
  • URL Models
    • Urls class
    • ProfileImage class
    • URL optimization helpers
  • Location and EXIF Models
    • Location class with GPS data
    • EXIF class with camera data
    • Analysis utilities
  • Statistics Models
    • UnplashTotalStats class
    • UnplashMonthlyStats class
    • Usage examples
  • Link Models
    • PhotoLinks, UserLinks, CollectionLinks
  • Supporting Models
    • Category, Badge classes
  • Model Relationships
    • Relationship diagram
    • Navigation examples
  • Usage Examples
    • Complete photo analysis

๐Ÿš€ Advanced Usage Patterns

  • Advanced Pagination Strategies
    • Infinite scroll implementation
    • Parallel pagination
  • Filtering and Search Optimization
    • Advanced search builder
    • Smart search with fallbacks
  • Custom Parameters and URL Manipulation
    • Custom photo sizing
    • URL parameter optimization
  • Performance Optimization
    • Intelligent caching strategy
    • Connection pooling and HTTP optimization
  • Batch Operations
    • Efficient bulk photo processing
    • Batch download manager
  • Monitoring and Metrics
    • Performance metrics collection

๐Ÿ’ป Code Examples and Recipes

  • Basic Operations
    • Simple photo retrieval
    • Photo information display
  • Search and Discovery
    • Smart search with fallbacks
    • Advanced search filters
    • Pagination helper
  • User and Collection Management
    • User profile analysis
    • Collection explorer
  • Image Processing and Download
    • Smart image downloader
    • Image metadata extractor
  • Web Application Integration
    • ASP.NET Core photo API
  • Desktop Application Examples
    • WPF photo gallery
    • Console photo browser
  • Background Services
    • Photo sync service
  • Testing Patterns
    • Unit testing with mocking
    • Integration testing
  • Performance Optimization
    • Caching strategies
    • Batch processing
    • Connection pool optimization

๐Ÿงช Testing and Best Practices Guide

  • Testing Strategies
    • Test pyramid approach
    • Testing infrastructure setup
  • Unit Testing
    • Success scenarios
    • Error scenarios
    • Caching behavior
  • Integration Testing
    • API contract testing
    • Rate limit testing
  • Performance Testing
    • Load testing
    • Memory usage testing
  • Best Practices
    • Error handling patterns
    • Caching strategies
    • Rate limiting approaches
    • Dependency injection
  • Common Pitfalls
    • Rate limit handling mistakes
    • HttpClient usage issues
    • Cancellation token omissions
  • Security Considerations
    • API key management
    • Input validation
    • User rate limiting
  • Production Deployment
    • Configuration management
    • Health checks
    • Graceful degradation
  • Monitoring and Observability
    • Structured logging
    • Custom metrics
    • Application Insights integration

๐Ÿ”„ Migration and Upgrade Guide

  • Version Compatibility
    • Supported .NET versions
    • API compatibility
  • Breaking Changes (None!)
  • New Features Overview
    • Comprehensive error handling
    • IHttpClientFactory integration
    • Structured logging
    • Enhanced async support
  • Migration Strategies
    • Gradual migration (recommended)
    • New project setup
  • Error Handling Migration
    • Before and after examples
    • Migration helper utilities
  • IHttpClientFactory Migration
    • Manual vs. DI setup
  • Logging Integration
    • Setup and configuration
  • Performance Improvements
    • Connection pooling
    • Retry policies
    • Rate limit optimization
  • Best Practices Updates
    • Cancellation tokens
    • Error handling patterns
    • Dependency injection
    • Caching strategies
  • Troubleshooting Common Issues
    • Null reference exceptions
    • HttpClient disposal issues
    • Rate limit handling
    • Configuration problems
  • Migration Checklist
  • Testing Your Migration

โš ๏ธ Error Handling Guide

  • Exception Types
    • UnsplasharpException (base)
    • UnsplasharpNotFoundException
    • UnsplasharpRateLimitException
    • UnsplasharpAuthenticationException
    • UnsplasharpNetworkException
    • UnsplasharpTimeoutException
  • Error Context
    • Rich error information
    • Correlation IDs
    • Request/response details
  • Handling Strategies
    • Basic error handling
    • Advanced error handling
    • Retry patterns
  • Rate Limit Handling
    • Detection and response
    • Backoff strategies
  • Network Error Handling
    • Transient vs. permanent errors
    • Retry logic
  • Authentication Errors
    • API key validation
    • Permission issues
  • Best Practices
    • Exception-throwing methods
    • Logging strategies
    • User experience considerations

๐ŸŒ IHttpClientFactory Integration

  • Overview and Benefits
  • Basic Setup
  • Advanced Configuration
  • Dependency Injection
  • Custom HTTP Handlers
  • Performance Considerations
  • Troubleshooting

๐Ÿ“ Logging Configuration

  • Setup and Configuration
  • Log Levels and Categories
  • Structured Logging
  • Custom Log Providers
  • Performance Considerations
  • Troubleshooting

๐Ÿ“– Introduction

  • Library overview
  • Key features
  • Architecture
  • Getting started

๐Ÿ”‘ Obtaining an API Key

  • Unsplash developer account setup
  • Application registration
  • API key management
  • Rate limits and quotas

๐Ÿ“ฅ Downloading a Photo

  • Basic download examples
  • Different image sizes
  • Error handling
  • Best practices

๐Ÿงญ Navigation Guide

  • Find what you need quickly
  • Documentation structure
  • Learning paths
  • Search tips

๐Ÿ“š Documentation Categories

By Audience

  • Beginners: Getting Started, Introduction, API Key Setup
  • Developers: API Reference, Models, Code Examples
  • Advanced Users: Advanced Usage, Testing, Migration
  • DevOps/Production: Best Practices, Error Handling, Monitoring

By Topic

  • Setup & Configuration: Getting Started, HTTP Client Factory, Logging
  • API Usage: API Reference, Models, Error Handling
  • Development: Code Examples, Testing, Best Practices
  • Advanced Topics: Advanced Usage, Performance, Migration
  • Production: Testing, Security, Monitoring, Deployment

By Content Type

  • Guides: Step-by-step instructions and tutorials
  • References: Complete API and model documentation
  • Examples: Practical code samples and recipes
  • Best Practices: Recommendations and patterns

๐Ÿ”— Cross-References

Common Workflows

  1. New Project Setup: Getting Started โ†’ API Key โ†’ Basic Examples โ†’ Error Handling
  2. Production Deployment: Best Practices โ†’ Testing โ†’ Error Handling โ†’ Monitoring
  3. Performance Optimization: Advanced Usage โ†’ Caching โ†’ Batch Operations โ†’ Monitoring
  4. Troubleshooting: Error Handling โ†’ Testing โ†’ Migration Guide โ†’ Navigation
  • Error Handling โ†” Testing โ†” Best Practices
  • API Reference โ†” Models โ†” Code Examples
  • Advanced Usage โ†” Performance โ†” Production
  • Migration โ†” Best Practices โ†” Testing

Quick Navigation: Main Hub | Getting Started | API Reference | Examples