Critical bug fix: The filter was returning the wrong series because of a misunderstanding of the episode table semantics. ISSUE: - Episodes table contains MISSING episodes (from episodeDict) - is_downloaded=False means episode file not found in folder - Original query logic was backwards - returned series with NO missing episodes instead of series WITH missing episodes SOLUTION: - Simplified query to directly check for episodes with is_downloaded=False - Changed from complex join with count aggregation to simple subquery - Now correctly returns series that have at least one undownloaded episode CHANGES: - src/server/database/service.py: Rewrote get_series_with_no_episodes() method with corrected logic and clearer documentation - tests/unit/test_series_filter.py: Updated test expectations to match corrected behavior with detailed comments explaining episode semantics - docs/API.md: Enhanced documentation explaining filter behavior and episode table meaning TESTS: All 5 unit tests pass with corrected logic
Aniworld Documentation
Overview
This directory contains all documentation for the Aniworld anime download manager project.
Documentation Structure
| Document | Purpose | Target Audience |
|---|---|---|
| ARCHITECTURE.md | System architecture and design decisions | Architects, Senior Developers |
| API.md | REST API reference and WebSocket documentation | Frontend Developers, API Consumers |
| DEVELOPMENT.md | Developer setup and contribution guide | All Developers |
| DEPLOYMENT.md | Deployment and operations guide | DevOps, System Administrators |
| DATABASE.md | Database schema and data models | Backend Developers |
| TESTING.md | Testing strategy and guidelines | QA Engineers, Developers |
| SECURITY.md | Security considerations and guidelines | Security Engineers, All Developers |
| CONFIGURATION.md | Configuration options reference | Operators, Developers |
| CHANGELOG.md | Version history and changes | All Stakeholders |
| TROUBLESHOOTING.md | Common issues and solutions | Support, Operators |
| features.md | Feature list and capabilities | Product Owners, Users |
| instructions.md | AI agent development instructions | AI Agents, Developers |
Documentation Standards
- All documentation uses Markdown format
- Keep documentation up-to-date with code changes
- Include code examples where applicable
- Use clear, concise language
- Include diagrams for complex concepts (use Mermaid syntax)
Contributing to Documentation
When adding or updating documentation:
- Follow the established format in each document
- Update the README.md if adding new documents
- Ensure cross-references are valid
- Review for spelling and grammar