{"id":40494305,"url":"https://github.com/chetanr25/quick-docs","last_synced_at":"2026-01-20T18:55:41.699Z","repository":{"id":267397853,"uuid":"823699006","full_name":"chetanr25/quick-docs","owner":"chetanr25","description":"Effortlessly manage and retrieve your digital documents with our intelligent search system. Say goodbye to wasted time and hello to productivity with Magic Search with Quick Docs.","archived":false,"fork":false,"pushed_at":"2025-12-27T20:37:08.000Z","size":86022,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-29T20:16:19.363Z","etag":null,"topics":["app-development","cloud-storage","dart","document-manager","firebase","firebase-firestore","firebase-realtime-database","firebase-storage","firestore","flutter","mobile-app","spotlight"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chetanr25.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-07-03T14:32:54.000Z","updated_at":"2025-12-27T20:37:12.000Z","dependencies_parsed_at":"2025-07-09T23:11:30.756Z","dependency_job_id":"b0b10875-b59f-4acd-a258-185e51b0a8be","html_url":"https://github.com/chetanr25/quick-docs","commit_stats":null,"previous_names":["chetanr25/quick-docs"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/chetanr25/quick-docs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chetanr25%2Fquick-docs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chetanr25%2Fquick-docs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chetanr25%2Fquick-docs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chetanr25%2Fquick-docs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chetanr25","download_url":"https://codeload.github.com/chetanr25/quick-docs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chetanr25%2Fquick-docs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28609360,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T16:10:39.856Z","status":"ssl_error","status_checked_at":"2026-01-20T16:10:39.493Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["app-development","cloud-storage","dart","document-manager","firebase","firebase-firestore","firebase-realtime-database","firebase-storage","firestore","flutter","mobile-app","spotlight"],"created_at":"2026-01-20T18:55:41.015Z","updated_at":"2026-01-20T18:55:41.691Z","avatar_url":"https://github.com/chetanr25.png","language":"Python","readme":"# Quick Docs - Intelligent Document Manager\n\n\u003cdiv align=\"center\"\u003e\n\n![GitHub language count](https://img.shields.io/github/languages/count/chetanr25/quick-docs)\n![GitHub top language](https://img.shields.io/github/languages/top/chetanr25/quick-docs)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.109.0-009688?style=flat\u0026logo=fastapi\u0026logoColor=white)](https://fastapi.tiangolo.com/)\n[![Flutter](https://img.shields.io/badge/Flutter-3.0+-02569B?style=flat\u0026logo=flutter\u0026logoColor=white)](https://flutter.dev/)\n[![Dart](https://img.shields.io/badge/Dart-3.0+-0175C2?style=flat\u0026logo=dart\u0026logoColor=white)](https://dart.dev/)\n[![Python](https://img.shields.io/badge/Python-3.11+-3776AB?style=flat\u0026logo=python\u0026logoColor=white)](https://www.python.org/)\n[![Azure](https://img.shields.io/badge/Azure%20Blob%20Storage-12.19.0-0078D4?style=flat\u0026logo=microsoft-azure\u0026logoColor=white)](https://azure.microsoft.com/)\n[![Firebase](https://img.shields.io/badge/Firebase-5.0+-FFCA28?style=flat\u0026logo=firebase\u0026logoColor=black)](https://firebase.google.com/)\n\n\u003c/div\u003e\n\n---\n\n**Quick Docs** is a cross-platform intelligent document management system that revolutionizes how you organize, search, and access files across devices. Whether it's PDFs, Word documents, or text files, Quick Docs transforms them into **searchable**, **synced**, and **instantly accessible** resources.\n\nUnlike traditional file managers that rely solely on filename-based search, **Quick Docs** employs advanced text extraction, intelligent tokenization, and a powerful **Magic Search** engine. Simply type a hint a phrase, word, or even a vague memory and Quick Docs instantly scans through your documents, maps tokens intelligently, and retrieves the exact file you need.\n\nWith **cloud synchronization**, **real-time updates**, and **offline file support**, Quick Docs seamlessly bridges the gap between convenience and reliability. From lecture notes to contracts to casual WhatsApp PDFs, your documents are always at your fingertips.  \n\n## Table of Contents\n\n- [Introduction](#introduction)\n- [What it Solves](#what-it-solves)\n- [Core Features](#core-features)\n- [Technical Overview](#technical-overview)\n- [Supported Files \u0026 Limits](#supported-files--limits)\n- [Performance \u0026 Reliability](#performance--reliability)\n- [Download \u0026 Demo](#download--demo)\n- [Tech Stack](#tech-stack)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Introduction\n\nIn today's digital world, documents are everywhere: lecture notes, work reports, bills, e-books, and random PDFs sent over WhatsApp. The real challenge? **Finding them when you actually need them.**\n\nThat's where **Quick Docs** comes in.\n\nOur application goes beyond simple filename-based search. With **Magic Search**, you don't need to remember the exact file name or location. Just type a hint a phrase, a word, even a vague memory and Quick Docs will instantly scan through your documents, map tokens intelligently, and retrieve the file you're looking for. ⚡\n\n### Key Benefits\n\n- **No more digging through folders** - Intelligent search finds files instantly\n- **No more endless scrolling** - Skip the \"Downloads\" or \"WhatsApp Documents\" chaos\n- **No more lost files** - Say goodbye to \"I know I had that PDF somewhere…\" moments\n- **Offline-first approach** - Indexes local storage and makes files searchable instantly\n- **Path-agnostic** - Folder structure and filename don't matter anymore\n\nWhether you've just downloaded a PDF from the web, or someone forwarded you a document on WhatsApp, Quick Docs has your back. With **offline functionality**, it indexes local storage and makes files searchable instantly path, folder, or filename don't matter anymore.\n\n✨ Whether you're a student, a professional, or just someone tired of losing files in the digital mess, Quick Docs makes finding and organizing documents effortless, fast, and reliable.  \n\n\n## What it Solves\n\nQuick Docs addresses common pain points in document management:\n\n| Problem | Solution |\n|---------|----------|\n| **Scattered PDFs and notes** across devices | Centralized cloud storage with real-time sync |\n| **Slow, filename-only search** that misses relevant content | Full-text search with intelligent tokenization |\n| **Manual copy/paste workflows** to extract text | Automatic text extraction from PDFs, DOCX, and TXT files |\n| **Inconsistent organization** without folders/tags | Built-in folder management and tagging system |\n| **Lack of real-time sync** and offline access | Firebase-powered real-time updates with offline caching |\n\nQuick Docs centralizes documents, extracts content automatically, and makes them searchable and organized across all your devices.\n\n---\n\n## Core Features\n\n### 🔍 Smart Search\n- **Full-text search** across content, filename, and tokens\n- **Intelligent tokenization** with optional NLP enhancements\n- **Magic Search** that finds documents by hints and phrases\n\n### 📤 Upload \u0026 Processing\n- **Asynchronous upload** and processing powered by FastAPI backend\n- **Text extraction** from PDF, DOCX, and TXT files\n- **Instant metadata** and token statistics\n- **Background processing** for seamless user experience\n\n### 📁 Organization\n- **Folder management** with quick move operations\n- **Tagging system** for flexible categorization\n- **Star/archive** functionality for important documents\n- **Document statistics** including views and access times\n\n### 👁️ Viewing \u0026 Access\n- **In-app PDF viewer** with smooth navigation\n- **External app support** for opening files in other applications\n- **Offline access** for cached files\n- **Cross-platform** support (iOS, Android, Web)\n\n### 🔄 Realtime \u0026 Authentication\n- **Firebase Authentication** (email/password)\n- **Firestore-backed** real-time updates\n- **Cloud synchronization** across devices  \n\n---\n\n## Technical Overview\n\n### Architecture\n\nQuick Docs follows a modern, scalable architecture pattern:\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│  Flutter App    │────▶│  FastAPI     │────▶│  Azure Blob      │\n│  (Frontend)     │     │  (Backend)   │     │  Storage         │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n         │                       │\n         │                       │\n         ▼                       ▼\n┌─────────────────┐     ┌──────────────────┐\n│  Firebase       │     │  Firestore       │\n│  Auth           │     │  (Realtime DB)   │\n└─────────────────┘     └──────────────────┘\n```\n\n- **Frontend (Flutter/Dart)**: Cross-platform UI, authentication, and client logic\n- **Backend (FastAPI)**: File uploads, text extraction, and tokenization services\n- **Azure Blob Storage**: Scalable cloud file storage\n- **Firebase Firestore**: Real-time metadata synchronization and search indexing\n\n### Data Flow\n\n1. **User selects file** in the Flutter application\n2. **App uploads** to FastAPI backend (synchronous or asynchronous)\n3. **Backend processes** file: stores in Azure Blob Storage, extracts text, tokenizes content\n4. **Backend returns** structured result (file URL, tokens, metadata)\n5. **App saves** result to Firestore → UI updates in real-time via stream listeners\n\n### Backend Highlights\n\n- **FastAPI 0.109.0** + Uvicorn for high-performance async operations\n- **Azure Storage SDK** (Blob) for reliable file persistence\n- **PyPDF2** and **python-docx** for document text extraction\n- **Optional spaCy** integration for advanced NLP capabilities\n- **Health endpoint** for liveness and readiness checks\n- **CORS middleware** for cross-origin requests\n\n### Flutter App Highlights\n\n- **Firebase Auth \u0026 Firestore** integration for authentication and real-time data\n- **In-app PDF viewer** with intelligent caching mechanism\n- **Robust upload client** with comprehensive validation and error handling\n- **API URL service** with health-check and intelligent caching\n- **Offline-first** architecture with local file caching\n\n### Cloud Components\n\n- **Azure App Service**: Production-ready backend deployment\n- **Azure Blob Storage**: Scalable and durable file persistence\n- **Firebase**: Authentication and real-time database services  \n\n---\n\n## Supported Files \u0026 Limits\n\n### Supported File Types\n- **PDF** - Full support with text extraction\n- **DOCX** - Microsoft Word documents\n- **TXT** - Plain text files\n- **DOC** - Legacy format (partial support)\n\n### Processing Capabilities\n- **Asynchronous Upload**: Leveraging FastAPI's async capabilities for scalable and fast processing\n- **Background Processing**: Files are processed in the background without blocking the UI\n- **Large File Support**: Optimized for handling files of various sizes\n\n---\n\n## Performance \u0026 Reliability\n\nQuick Docs is built with performance and reliability as core principles:\n\n- ⚡ **Async Processing**: Powered by FastAPI for non-blocking operations\n- 🔄 **Cached API Base URL**: Runtime health checks with intelligent caching\n- 📡 **Stream-based Updates**: Firestore real-time streams for instant UI updates\n- 💾 **Local Caching**: Offline PDF viewing with intelligent cache management\n- 🛡️ **Error Handling**: Comprehensive error handling and recovery mechanisms\n- 🔒 **Security**: Secure authentication and encrypted file storage\n\n---\n\n## Download \u0026 Demo\n\n### Version Comparison\n\n| Version | Features | Trade-offs |\n|---------|----------|------------|\n| **Old APK** | ✅ Complete offline processing\u003cbr\u003e✅ Access to local files (incl. WhatsApp, Downloads, etc.)\u003cbr\u003e✅ Offline search support | ❌ Heavy app size (PDF parser bundled)\u003cbr\u003e❌ UI/UX less refined |\n| **New APK (Current)** | ✅ Enhanced UI/UX\u003cbr\u003e✅ Smart search with FastAPI backend\u003cbr\u003e✅ Lighter and faster app\u003cbr\u003e✅ Supports any document format (backend parsing) | ❌ No local file system processing (deprecated to reduce size \u0026 improve performance) |\n\n### Old APK \u0026 Demo\n\n- **[Download Old APK (100+ MB)](https://drive.usercontent.google.com/download?id=1-gzwuwJ09xD84Gc5SOsrQK5uaT5eNtc6\u0026export=download\u0026authuser=0)**\n- **Cloud Sync Demo:** [Watch Video](https://github.com/user-attachments/assets/76dd9e4c-db7e-46fc-b85c-56ce02367332)\n- **Local Storage Demo:** [Watch Video](https://github.com/user-attachments/assets/7ebe8756-3581-44f3-9663-284272d50485)\n\n### New APK \n\n- **[Download Universal APK (38 MB)](https://github.com/chetanr25/quick-docs/raw/refs/heads/main/quick_doc_app/apk/app-release.apk.zip)**\n- **[Download armabi-v7a APK (13 MB)](https://github.com/chetanr25/quick-docs/raw/refs/heads/main/quick_doc_app/apk/app-armeabi-v7a-release.apk.zip)**\n- **[Download arm64 APK (14 MB)](https://github.com/chetanr25/quick-docs/raw/refs/heads/main/quick_doc_app/apk/app-arm64-v8a-release.apk.zip)**\n\n\n\n\n---\n\n## Tech Stack\n\n### Backend\n- **Python 3.11+** - Modern Python with type hints\n- **FastAPI 0.109.0** - High-performance async web framework\n- **Uvicorn** - ASGI server implementation\n- **PyPDF2** - PDF text extraction\n- **python-docx** - DOCX document processing\n- **Azure Storage SDK** - Cloud file storage\n- **python-dotenv** - Environment configuration\n\n### Frontend\n- **Flutter 3.0+** - Cross-platform UI framework\n- **Dart 3.0+** - Programming language\n- **Firebase SDK** - Authentication and real-time database\n- **Syncfusion PDF Viewer** - In-app PDF rendering\n\n### Cloud Infrastructure\n- **Azure App Service** - Backend hosting\n- **Azure Blob Storage** - File persistence\n- **Firebase Authentication** - User authentication\n- **Cloud Firestore** - Real-time database\n\n---\n\n## Contributing\n\nWe welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details on:\n\n- Code of conduct\n- Development setup\n- Pull request process\n- Coding standards\n\n---\n\n## License\n\nThis project is licensed under the **MIT License**.\n\nSee the [LICENSE](LICENSE) file for details.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchetanr25%2Fquick-docs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchetanr25%2Fquick-docs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchetanr25%2Fquick-docs/lists"}