maid
Flutter로 구현된 AI 기반 문서 리더기입니다. 고급 LLM을 사용하여 PDF/문서의 요약, 강조 및 상호작용을 수행합니다
- 스타
- 17
- 포크
- 0
- 최근 푸시(UTC)
- 2026. 3. 23.
- 프로젝트 상태
- 활성
원본 README
아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.
🛡️ MAID - Smart AI Document Reader
MAID (Mobile AI Document-assistant) is a next-generation document reader built with Flutter. It doesn't just display text; it understands it.
✨ Key Features
- 📄 PDF Support: Seamlessly read PDF files with smooth scrolling and zoom.
- 🤖 AI Chat: Ask questions about your PDFs and get instant AI-powered answers.
- 💡 Smart Search: Find text within your documents quickly.
- 📝 Smart Notes: Create notes linked to specific PDF pages with AI summarization.
- 🌍 Translator: Translate selected text into multiple languages.
- 🎨 Theme Support: Toggle between light and dark modes.
🚀 Tech Stack
- Framework: Flutter 3.0+
- State Management: flutter_bloc
- Dependency Injection: get_it
- AI Integration: Configurable (OpenAI API / Google Gemini API)
- Local Storage: Hive & SharedPreferences
- PDF Engine: syncfusion_flutter_pdfviewer
📋 Features Implementation Status
✅ Completed
- [x] Issue #1 - Setup Clean Architecture Base
- [x] Issue #2 - Global Theme & Constants
- [x] Issue #3 - Implement PDF Viewer
- [x] Issue #4 - PDF Page Navigation
- [x] Issue #5 - Search Inside PDF
- [x] Issue #6 - AI Service Integration (Interface)
- [x] Issue #7 - Ask Questions About PDF (UI)
- [x] Issue #8 - Create Smart Notes
- [x] Issue #9 - AI Summarized Notes (UI)
- [x] Issue #10 - Translate Selected Text (UI)
- [x] Issue #11 - Unit Tests for Core Features
🔄 Requires Integration
- [ ] Connect real AI service (OpenAI/Gemini API)
- [ ] Implement persistent storage for notes
- [ ] Add more comprehensive tests
📝 For detailed issue descriptions and tracking, see GITHUB_ISSUES.md
🚀 To create these as GitHub issues, run./scripts/create_issues.sh
🛠️ Installation & Setup
Prerequisites
- Flutter SDK 3.0 or higher
- Dart 3.0 or higher
- Android Studio / VS Code with Flutter extensions
- An AI API key (OpenAI or Google Gemini)
Steps
-
Clone the repo:
git clone https://github.com/soghayarmahmoud/maid-ai-reader.git cd maid-ai-reader -
Install dependencies:
flutter pub get -
Configure AI Service:
- Open
lib/features/ai_search/data/mock_ai_service.dart - Replace
MockAiServicewith your actual AI service implementation - Add your API key to environment variables or secure storage
- Open
-
Run the app:
flutter run
📱 Usage
- Open a PDF: Tap the "Open PDF" button on the home screen
- Navigate Pages: Use the toolbar at the bottom to navigate between pages
- Search: Tap the search icon in the app bar to search within the PDF
- AI Chat: Tap the chat icon to ask questions about the document
- Take Notes: Tap the note icon to create smart notes linked to the current page
- Translate: Select text and tap the translate icon to translate it
🏗️ Project Structure
lib/
├── core/ # Core functionality
│ ├── constants/ # App colors, strings, theme
│ ├── errors/ # Error handling
│ ├── utils/ # Utility functions
│ └── widgets/ # Reusable widgets
├── di/ # Dependency injection
├── features/ # Feature modules
│ ├── ai_search/ # AI chat functionality
│ ├── library/ # Home screen/library
│ ├── pdf_reader/ # PDF viewing
│ ├── smart_notes/ # Note-taking
│ └── translator/ # Translation
├── app.dart # Main app widget
└── main.dart # Entry point
🧪 Testing
Run tests with:
flutter test
🔐 Security & Privacy
- All data is stored locally on the device
- AI queries are sent to configured AI service
- No data is collected or shared without user consent
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Syncfusion for the excellent PDF viewer
- Flutter team for the amazing framework
- OpenAI/Google for AI capabilities
📞 Contact
Mahmoud Soghayar - @soghayarmahmoud
Project Link: https://github.com/soghayarmahmoud/maid-ai-reader
분류
사용 중인 의존성
의존성 목록 4 개
프로젝트에 맞는 저장소를 선택하려면?
사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.
- 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
- 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
- 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.
출처 및 관리
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗
