[![Contributors][contributors-shield]][contributors-url] [![Forks][forks-shield]][forks-url] [![Stargazers][stars-shield]][stars-url] [![Issues][issues-shield]][issues-url] [![MIT License][license-shield]][license-url]
Logo

Paperless Mobile

An (almost) fully fledged mobile paperless client.

Report Bug · Request Feature

## About The Project With this app you can conveniently add, manage or simply find documents stored in your paperless server without any comproimises. This project started as a small fun side project to learn more about the Flutter framework and because existing solutions didn't fulfill my needs, but it has grown much faster with far more features than I originally anticipated. ### :rocket: Features :heavy_check_mark: **View** your documents at a glance, in a compact list or a more detailed grid view
:heavy_check_mark: **Add**, **delete** or **edit** your documents
:heavy_check_mark: **Share**, **download** and **preview** PDF files
:heavy_check_mark: **Manage** and assign correspondents, document types, tags and storage paths
:heavy_check_mark: **Scan** and upload documents to paperless with preset correspondent, document type, tags and creation date
:heavy_check_mark: **Upload existing documents** from other apps via Paperless Mobile
:heavy_check_mark: See all new documents in a dedicated **inbox**
:heavy_check_mark: **Search** for documents using a wide range of filter criteria
:heavy_check_mark: **Secure** your data with **biometric authentication** across sessions
:heavy_check_mark: Support for **TLS mutual authentication** (client certificates)
:heavy_check_mark: **Modern, intuitive UI** built according to the Material Design 3 specification
:heavy_check_mark: Available in english and german language (more to come!)
### Built With [![Flutter][Flutter]][Flutter-url] ## Getting Started To get a local copy up and running follow these simple steps. ### Prerequisites * Install the Flutter SDK (https://docs.flutter.dev/get-started/install) * Install an IDE of your choice (e.g. VSCode with the Dart/Flutter extensions) ### Install dependencies and generate files 1. Clone the repo ```sh git clone https://github.com/astubenbord/paperless-mobile.git ``` 2. Install the dependencies ```sh flutter pub get ``` 3. Build generated files (e.g. for injectable library) ```sh flutter packages pub run build_runner build --delete-conflicting-outputs ``` 4. Generate the localization files ```sh flutter pub run intl_utils:generate ``` ### Build release version In order to build a release version, you have to... 1. Exchange the signing configuration in android/app/build.gradle from ```gradle buildTypes { release { signingConfig signingConfigs.release } } ``` to ```gradle buildTypes { release { signingConfig signingConfigs.debug } } ``` 2. Build the app with release profile (here for android): ```sh flutter build apk --split-per-abi ``` (the --release flag is implicit for the build command) 3. Install the app to your device ```sh flutter install ``` ## Roadmap - [x] Add download functionality (implemented, but flutter cannot download to useful directories except app directory) - [x] Add document share support - [x] Improvements to UX (e.g. form fields show clear button while empty) - [ ] Add more languages - [ ] Support for IOS - [ ] Automatic releases and CI/CD with fastlane - [ ] Templates for recurring scans (e.g. monthly payrolls with same title, dates at end of month, fixed correspondent and document type) - [ ] Custom document scanner optimized for common white A4 documents (currently using edge_detection, which is okay but not optimal for this use case) - [ ] Support multiple instances (low prio) See the [open issues](https://github.com/astubenbord/paperless-mobile/issues) for a full list of proposed features (and known issues). ## Contributing Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. All bug reports or feature requests are welcome, even if you can't contribute code! If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again! 1. Fork the Project 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) 4. Push to the Branch (`git push origin feature/AmazingFeature`) 5. Open a Pull Request ## License Distributed under the GNU General Public License v3.0. See `LICENSE.txt` for more information. ## Donations I do this in my free time, so if you like the project, consider buying me a coffee! Any donation is much appreciated :) [!["Buy Me A Coffee"](https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png)](https://www.buymeacoffee.com/astubenbord) ## Screenshots Here are some impressions from the app! #### Login Page #### Documents Overview (List) #### Documents Overview (Grid) #### Document Filter/Search (More filters below!) #### Document Details #### Edit Document #### Scan #### Upload [contributors-shield]: https://img.shields.io/github/contributors/astubenbord/paperless-mobile.svg?style=for-the-badge [contributors-url]: https://github.com/astubenbord/paperless-mobile/graphs/contributors [forks-shield]: https://img.shields.io/github/forks/astubenbord/paperless-mobile.svg?style=for-the-badge [forks-url]: https://github.com/astubenbord/paperless-mobile/network/members [stars-shield]: https://img.shields.io/github/stars/astubenbord/paperless-mobile.svg?style=for-the-badge [stars-url]: https://github.com/astubenbord/paperless-mobile/stargazers [issues-shield]: https://img.shields.io/github/issues/astubenbord/paperless-mobile.svg?style=for-the-badge [issues-url]: https://github.com/astubenbord/paperless-mobile/issues [license-shield]: https://img.shields.io/github/license/astubenbord/paperless-mobile.svg?style=for-the-badge [license-url]: https://github.com/astubenbord/paperless-mobile/blob/main/LICENSE [linkedin-shield]: https://img.shields.io/badge/-LinkedIn-black.svg?style=for-the-badge&logo=linkedin&colorB=555 [linkedin-url]: https://linkedin.com/in/linkedin_username [product-screenshot]: images/screenshot.png [Flutter]: https://img.shields.io/badge/Flutter-02569B?style=for-the-badge&logo=flutter&logoColor=white [Flutter-url]: https://flutter.dev ## Contributors Made with [contrib.rocks](https://contrib.rocks).