https://github.com/afoni95/react-native-paperless
A paperless-ngx mobile client written in ts using React-native-expo (managed)
https://github.com/afoni95/react-native-paperless
paperless paperless-ngx react react-native typescript
Last synced: about 1 month ago
JSON representation
A paperless-ngx mobile client written in ts using React-native-expo (managed)
- Host: GitHub
- URL: https://github.com/afoni95/react-native-paperless
- Owner: afoni95
- License: gpl-3.0
- Created: 2026-02-28T21:43:24.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-03T23:44:22.000Z (3 months ago)
- Last Synced: 2026-03-04T04:03:42.434Z (3 months ago)
- Topics: paperless, paperless-ngx, react, react-native, typescript
- Language: TypeScript
- Homepage:
- Size: 2.48 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# React Native Paperless
A React Native mobile application for [Paperless-ngx](https://docs.paperless-ngx.com/) document management system. Built with Expo, TypeScript, and React Navigation.
[](https://github.com/afoni95/react-native-paperless/blob/main/LICENCE)
[](https://github.com/afoni95/react-native-paperless/actions/workflows/build-appbundle.yml)
[](https://github.com/afoni95/react-native-paperless/releases)
[](https://reactnative.dev/)
[](https://expo.dev/)
[](https://www.typescriptlang.org/)
[](https://reactnative.dev/)
[](https://docs.paperless-ngx.com/api/)
[](https://github.com/afoni95/react-native-paperless/issues)
## About the Project
A mobile client for Paperless-ngx. Browse, search, upload, and manage your documents from your Android device. Connects directly to your self-hosted Paperless-ngx instance via its REST API.
## Prerequisites
- Node.js and npm
- Running Paperless-ngx server instance
## Installation
```bash
npm install
```
## Running the App
```bash
# Start Metro bundler
npm run start
# Run on Android (via Expo)
npm run android
# Build Android locally
npm run android:build
# Run linter with auto fix
npm run lint:fix
# Run type check
npm run typecheck
# Run i18n check
npm run i18n:unused
```
## Roadmap
### Resource APIs
- [x] Documents CRUD (list, detail, edit, delete)
- [x] Tags CRUD
- [x] Correspondents CRUD
- [x] Document Types CRUD
- [x] Statistics / Dashboard
- [x] Tasks (polling)
- [X] Logs viewer
- [X] Storage Paths CRUD
- [X] Custom Fields CRUD
- [X] Mail Accounts CRUD
- [X] Mail Rules CRUD
- [X] Processed Mail view
- [ ] Share Links CRUD
- [X] Workflows
- [X] Users/Groups management
### Special Endpoints
- [x] Search autocomplete
- [x] Document upload (file & camera)
- [x] PDF preview & download/share
- [X] Trash view & restore
- [X] Global Search
- [ ] Bulk Edit Documents
- [ ] Bulk Download Documents
- [ ] Bulk Edit Objects
### Enhancements
- [x] Internationalization
- [x] Theme support (light/dark/system)
- [x] Biometric lock screen
- [X] Object-level Permissions
- [ ] WebSocket status updates | Currently not possible due to Managed Expo limitation
- [X] Upload: add storage_path & custom_fields support
See the [open issues](https://github.com/afoni95/react-native-paperless/issues) for a full list of proposed features and known bugs.
## License
Distributed under the **GNU General Public License v3.0**. See [LICENCE](https://github.com/afoni95/react-native-paperless/blob/main/LICENCE) for more information.