A React Native mobile app for Snipe-IT, built with Expo.
The goal for this mobile app is to be a fully-featured version of the web app. We are fairly early days though and are actively working on adding features, so please be patient. If you'd like to give some input on what features would be most useful and should be higher priorities, please open up a feature request discussion - not an Issue.
The roadmap will be updated as we go and priorities evolve.
- Login via OAuth or Bearer token
- QR/barcode scanner from the home tab, resolves directly to an asset
- Assets: browse, search, filter, view, create, edit, check out, check in
- Accessories: browse, view, check out, check in
- Consumables: browse, view, edit, check out
- Components: browse and view
- Licenses: browse and view
- Audit workflow: session-based scan-and-confirm flow with a home screen dashboard card
- Activity report with details on items
- Recent actions feed card on the home screen (superusers only)
- OTA update checking and install from the home screen
If you think you've found a bug or an issue with the app, please open an Issue Triage Discussion.
Contributions are welcome! BUT, we'll be using a system called Vouch by Mitchell Hashimoto to manage contributions.
This means that contributors should default to opening Discussions instead of Issues or PRs, and then a team member will open the issue if need be.
Also make sure you check out our AI Policy if you're thinking about contributing.
If you'd like to be vouched, please open a Vouch Request in Discussions.
- Node.js (LTS)
- Yarn
- Xcode (iOS)
- Android Studio (Android)
yarn install
npx expo loginNote: This is an Expo Dev Build, not compatible with Expo Go.
npx expo run:ios # iOS simulator
npx expo run:android # Android emulatorThe --device flag will sometimes detect a connected physical device, but it's unreliable. But, usually run with the flag anyway to get all of my emulators.
- Run
npx expo run:iosto build the native project - Navigate to the
ios/folder in Finder and open the.xcworkspacefile in Xcode - Select your device in the header toolbar
- Press
cmd+R(or the play button) - Run
npx expo startto start the dev server and open the app on your device - If the app does not automatically find the development server then you can manually connect using your machine's IP address and the port shown in the terminal for "Web" (usually 8081)
Once the dev server is running you can leave it up — a new native build is only needed when a native module is added.
As of Snipe IT v8.5, OAuth will automatically work with the mobile application - otherwise you can log in using an API key.
If you'd like to use OAuth with an older version of Snipe IT, you can create an OAuth client manually and input the Client ID into the app.
Run the following command to generate a new client:
php artisan tinker --execute="echo Laravel\Passport\Client::create(['name' => 'Snipe-IT Mobile App', 'secret' => '', 'provider' => 'users', 'redirect' => 'com.grokability.snipeitmobile://home', 'personal_access_client' => 0, 'password_client' => 0, 'revoked' => 0])->id;"
Building to a physical iOS device requires Xcode code signing to be configured. See Expo's Xcode signing guide for setup instructions.