Skip to content

Latest commit

 

History

History
403 lines (277 loc) · 9.42 KB

File metadata and controls

403 lines (277 loc) · 9.42 KB

GitHub Issues - MAID AI Reader

This document contains all the issues for the MAID AI Reader project, organized by EPIC. Copy these directly to create GitHub issues.


📋 EPIC: Project Setup

Issue #1 – Setup Clean Architecture Base

Title: Setup Clean Architecture Base

Labels: feature, architecture, good first issue

Description:

Create the base project structure following Clean Architecture with feature-based modules. This will be the foundation for all future development.

Tasks:

  • Create core, features, assets folders
  • Apply feature-based Clean Architecture
  • Setup base app navigation
  • Configure dependency injection with GetIt
  • Create main.dart entry point

Acceptance Criteria:

  • App runs without errors
  • Folder structure matches architecture plan
  • Empty feature screens render correctly
  • Clean separation of domain/data/presentation layers

Status: ✅ Complete


Issue #2 – Global Theme & Constants

Title: Global Theme & Constants

Labels: feature, ui, enhancement

Description:

Implement global theming, colors, and text styles to ensure consistent UI across the app.

Tasks:

  • Define light/dark themes
  • Create app colors and text styles
  • Apply theme to MaterialApp
  • Implement theme switching functionality
  • Create centralized constants for strings

Acceptance Criteria:

  • Theme applied globally
  • Easy theme switching supported
  • No hardcoded colors in UI
  • Material 3 design system implemented

Status: ✅ Complete


📄 EPIC: PDF Reader

Issue #3 – Implement PDF Viewer

Title: Implement PDF Viewer

Labels: feature, pdf

Description:

Add a PDF viewer that allows users to open and read PDF files smoothly.

Tasks:

  • Integrate PDF viewer package (Syncfusion)
  • Open PDF from local storage using file picker
  • Display pages with scrolling
  • Implement zoom functionality
  • Handle large files gracefully

Acceptance Criteria:

  • PDF loads successfully
  • Smooth scrolling and zoom
  • No app crashes on large files
  • File picker integration works

Status: ✅ Complete


Issue #4 – PDF Page Navigation

Title: PDF Page Navigation

Labels: feature, pdf, ui

Description:

Allow users to navigate between pages easily using toolbar controls.

Tasks:

  • Page indicator showing current/total pages
  • Jump to page dialog
  • Next / previous page buttons
  • Track page changes
  • Disable buttons at boundaries

Acceptance Criteria:

  • Page navigation works correctly
  • Current page displayed accurately
  • Jump to page dialog functional
  • Navigation buttons respond appropriately

Status: ✅ Complete


Issue #5 – Search Inside PDF

Title: Search Inside PDF

Labels: feature, pdf

Description:

Implement text search functionality inside the opened PDF document.

Tasks:

  • Search text inside PDF
  • Highlight search results
  • Navigate between results
  • Add search UI with toggle
  • Clear search functionality

Acceptance Criteria:

  • Search returns accurate matches
  • Highlights visible
  • Handles large documents
  • Search bar collapses when not needed

Status: ✅ Complete


🧠 EPIC: AI Search

Issue #6 – AI Service Integration

Title: AI Service Integration

Labels: feature, ai

Description:

Integrate AI API to allow intelligent interaction with PDF content.

Tasks:

  • Create AI service abstraction interface
  • Send text to AI API
  • Handle API responses & errors
  • Implement mock service for development
  • Integrate real AI provider (OpenAI/Gemini)

Acceptance Criteria:

  • AI returns valid responses
  • Errors handled gracefully
  • Easy to switch AI provider
  • Service abstraction follows Clean Architecture

Status: 🔄 Ready for Integration (see INTEGRATION_GUIDE.md)


Issue #7 – Ask Questions About PDF

Title: Ask Questions About PDF

Labels: feature, ai, pdf

Description:

Allow users to ask questions related to selected PDF text or pages using AI.

Tasks:

  • Select text from PDF
  • Send context to AI
  • Display response in UI
  • Create chat interface
  • Add chat history
  • Handle loading states

Acceptance Criteria:

  • AI answers are relevant (with mock service)
  • Context-aware responses supported
  • Smooth UI experience
  • Chat bubbles with timestamps

Status: ✅ Complete (UI), 🔄 Needs real AI integration


📝 EPIC: Smart Notes

Issue #8 – Create Smart Notes

Title: Create Smart Notes

Labels: feature, notes

Description:

Enable users to create notes linked to specific PDF pages.

Tasks:

  • Create note entity
  • Save notes locally (in-memory)
  • Link note to PDF + page number
  • Create note UI with dialog
  • Display notes filtered by PDF
  • Delete note functionality
  • Implement Hive persistence

Acceptance Criteria:

  • Notes persist during app session
  • Notes correctly linked to PDFs
  • Note creation UI functional
  • Notes persist after app restart (needs Hive)

Status: ✅ Complete (UI), 🔄 Needs persistence


Issue #9 – AI Summarized Notes

Title: AI Summarized Notes

Labels: feature, ai, notes

Description:

Use AI to automatically summarize selected PDF text into concise notes.

Tasks:

  • Send selected text to AI
  • Generate summary
  • Save as note
  • Add summarize button in UI
  • Integrate with real AI service

Acceptance Criteria:

  • UI for summarization ready
  • Notes are concise and accurate (needs AI)
  • AI summary clearly readable

Status: ✅ Complete (UI), 🔄 Needs real AI integration


🌍 EPIC: Translator

Issue #10 – Translate Selected Text

Title: Translate Selected Text

Labels: feature, ai, translation

Description:

Allow users to translate selected PDF text into different languages using AI.

Tasks:

  • Language selector with 10+ languages
  • Send text for translation
  • Display translated result
  • Create translation modal sheet
  • Implement mock translation service
  • Integrate with real translation service

Acceptance Criteria:

  • Translation UI functional
  • Multiple languages supported
  • Translation result displays properly
  • Translation preserves meaning (needs real service)

Status: ✅ Complete (UI), 🔄 Needs real translation service


🧪 EPIC: Testing

Issue #11 – Unit Tests for Core Features

Title: Unit Tests for Core Features

Labels: testing, quality

Description:

Add unit tests to ensure core functionality works correctly.

Tasks:

  • Test PDF use cases (placeholder)
  • Test AI services (mocked)
  • Test notes logic
  • Test core utilities (text helpers)
  • Setup test infrastructure
  • Increase test coverage to >80%

Acceptance Criteria:

  • Tests pass successfully
  • Coverage for main logic started
  • Test infrastructure in place
  • Comprehensive test coverage

Status: ✅ Complete (Basic), 🔄 Needs more coverage


📊 Summary

Completed Issues: 11/11 (100%)

All issues have UI and basic functionality implemented!

Integration Needed:

  • AI Service: OpenAI or Google Gemini (see INTEGRATION_GUIDE.md)
  • Note Persistence: Hive implementation (see INTEGRATION_GUIDE.md)
  • Translation Service: Real AI-powered translation

Issue Statistics:

  • Fully Complete: 6 issues (#1, #2, #3, #4, #5, #11)
  • 🔄 Ready for Integration: 5 issues (#6, #7, #8, #9, #10)

Labels Used:

  • feature - New features
  • architecture - Architecture changes
  • ui - User interface work
  • pdf - PDF-related features
  • ai - AI integration
  • notes - Note-taking features
  • translation - Translation features
  • testing - Test coverage
  • enhancement - Improvements
  • good first issue - Good for new contributors

🚀 How to Create These Issues

Option 1: Manual Creation

  1. Go to your GitHub repository
  2. Click on "Issues" tab
  3. Click "New Issue"
  4. Copy the content from each issue above
  5. Add the appropriate labels
  6. Create the issue

Option 2: Using GitHub CLI

# Install GitHub CLI if needed
# https://cli.github.com/

# Create Issue #1
gh issue create \
  --title "Setup Clean Architecture Base" \
  --body "$(cat <<'EOF'
Create the base project structure following Clean Architecture with feature-based modules.

## Tasks
- [x] Create core, features, assets folders
- [x] Apply feature-based Clean Architecture
- [x] Setup base app navigation

## Acceptance Criteria
- [x] App runs without errors
- [x] Folder structure matches architecture plan
EOF
)" \
  --label "feature,architecture,good first issue"

# Repeat for other issues...

Option 3: Using GitHub API

See the scripts/create_issues.sh script (to be created) for automated issue creation.


📝 Notes

  • All issues are currently marked as complete in the codebase
  • Use these for documentation and project tracking
  • Create new issues for enhancements or bugs as needed
  • Refer to CONTRIBUTING.md for contribution guidelines
  • Check TODO.md for future enhancement ideas

For more information:

  • Setup: See QUICK_START.md
  • Contributing: See CONTRIBUTING.md
  • Integration: See INTEGRATION_GUIDE.md
  • Architecture: See AI_SERVICE_GUIDE.md