Docibry is a document management and sharing application built using Flutter and Firebase. It allows users to upload, manage, categorize, and share documents (PDFs and images) seamlessly. The app also supports user authentication, allowing users to securely sign in and manage their personalized document libraries.
- Easily handle your documents from web anytime
- Access
- Manage
- Download
- Share
Visit Link: https://docibry.web.app.
- Secure login and registration using Firebase Authentication.
- Password-based authentication with Firebase Firestore storing user details.
- Persistent login, ensuring the user stays logged in across sessions.
- Upload and manage various file types such as PDFs and images.
- Categorize documents into custom categories for easy filtering.
- View, edit, delete, and update document information such as document name, holder name, and category.
- Local database integration (Sembast) for offline capabilities.
- Share documents directly via social media, email, and other platforms using Share Plus.
- Save documents locally as JPG or PDF.
- Web support for downloading documents directly to the device.
- Search for documents by name or filter documents by category.
- Category chips for easy selection and filtering.
- Local database storage allows access to documents even when offline.
- Clean and modern UI built using Flutter's Material Design.
- Responsive design for both mobile and web platforms.
- Custom components like Search Bar, Snackbar, and Category Filter Chips.
- Framework: Flutter
- State Management: Flutter BLoC
- Firebase Services:
- Authentication: User login and registration.
- Firestore: Storage for user and document details.
- Local Storage: Sembast for offline document management.
- Sharing: Share Plus for sharing documents.
lib/
|-- blocs/ # BLoC state management logic
|-- constants/ # App constants (strings, routes)
|-- models/ # Data models (documents, user)
|-- repositories/ # Local database service
|-- services/ # File and permission handling services
|-- ui/ # User interface
|-- auth/ # User login and registration pages
|-- document/ # Document management pages
|-- home/ # Home page and document grid view
|-- profile/ # User profile page
|-- shareDoc/ # Document sharing page
|-- widgets/ # Reusable custom widgets
- Flutter SDK:
^3.5.0
- Firebase Account for configuring authentication and Firestore
-
Clone the repository:
git clone https://github.com/your-username/docibry.git
-
Install dependencies:
flutter pub get
-
Set up Firebase:
- Create a Firebase project.
- Enable Firebase Authentication and Firestore Database.
- Download
google-services.json
and place it in theandroid/app
directory.
-
Run the app:
flutter run
To run the app on web:
flutter build web
Update firebase_options.dart
with your Firebase configuration:
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
Contributions are welcome! Feel free to submit issues or pull requests on the GitHub repository.
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature
). - Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature/your-feature
). - Open a Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.