Hobby project that use React Native and Google Firebase for simple Inventory tracking that aims to help ISGM Employees, especially at Japan to list, display and manage their belongings for sharing.
- React
- React Native
- Firebase (Authentication, Firestore, Storage)
- Invertase (React Native Firebase library)
- React Native Paper (Material Design For React Native)
- React Native Material textfields (Material design textfields)
- React Native Image Picker
- Node Js, NPM/Yarn
- EMCA Script Version ^6 Knowledge. (ES6 ++)
- No server side code. Firebase is awesome
- Cross Platform. (IOS / Android)
- Code can be easily converted to Web version later. // Power of Javascript and React
- Authentication and Registration
- Adding, Editing your inventory items
- Search other people's belongings and request for rent if you need
- Approve/Deny to people's requests for your items
- Notifications. (Not yet Implemented. See Issue
- Download and Install InventoryManagement.apk
- Clone this repo
- CD to cloned directory
- Run
npm install
- Add android application with android package name
com.naung9.inventoryin your Firebase project. - Add ios application with ios bundle name
com.naung9.inventoryin your Firebase project. - Download
GoogleService-Info.plistandgoogle-services.jsonfrom your firebase project - Skip the
Add Firebase SDKandAdd Initialization Codeparts. - Replace {cloned_directory}/android/app/google-services.json file with your downloaded file.
- Replace {cloned_directory}/ios/GoogleService-Info.plist with your downloaded file.
- Set up "Sign In Method" with "Email/Password" type.
- Create database in Cloud Firestore.
- Update Cloud Firestore database rule with following
service cloud.firestore {
match /databases/{database}/documents {
match /accesskeys/{keys} {
allow read: if true;
}
match /{document=**} {
allow read, write: if request.auth != null && request.auth.token.firebase.sign_in_provider != 'anonymous';
}
}
}
- Create a new collection in Cloud Firestore Database with ID "accesskeys" and add a new document to it with following fields.
Field = key
Type = string
Value = {A_KeyCode_of_your_choice_random_recommended}
Field = organization
Type = string
Value = {Organization_Name_Of_Your_Choice_E.G ISGM}
- Set UP Firebase Cloud Storage with Default options or OPTIONS of your choice.
- Android Studio
- Android SDK
- Read And Follow "React Native Cli Quick Start" of React Native Getting Started
- CD to cloned directory
- Run
npx react-native bundle --dev false --platform android --entry-file index.js --bundle-output ./android/app/src/main/assets/index.android.bundle --assets-dest ./android/app/src/main/res/
- CD to {cloned_directory}/android
- Run
./gradlew assembleDebug
- You will find your app-debug.apk in {cloned_directory}/android/app/build/outputs/apk/debug/
- A Mac
- XCode
- Cocoapods
sudo gem install cocoapods
- CD to {cloned_directory}/ios
- run.
pod install
- CD back to {cloned_directory}
- run
npx react-native run-ios --configuration Release