A sleek and intuitive mobile app crafted with React Native and Expo to empower users in tracking, managing, and analyzing retail purchases effortlessly. Store data locally, visualize spending trends, and export records—all in one place!
- Add Purchases: Input details with a date picker, dynamic items, real-time calculations, and past rate suggestions.
- Edit & Delete: Update or remove items within purchases, or delete entire entries from the home screen.
- Spending Trends: See monthly spending with a stylish line chart via
react-native-chart-kit. - CSV Export: Download purchase data as CSV files (single or bulk), Excel-ready.
- User-Friendly: Cancel item additions, exit without saving, and get clear error messages.
- Offline Ready: Powered by
AsyncStoragefor seamless offline use.
- Node.js: v16 or higher
- npm or yarn
- Expo CLI:
npm install -g expo-cli - Expo Go: App for iOS/Android testing
-
Clone the Repo
git clone https://github.com/tanmayraut45/retail-goods-manager.git cd retail-goods-manager -
Install Dependencies
npm install
or
yarn install
-
Launch the App
npx expo start
- Scan the QR code with Expo Go.
- Or use
i(iOS simulator) /a(Android emulator).
- Browse saved purchases.
- Search by date or item.
- Tap "Edit Purchases" to delete or dive into details.
- Export all data with the header download button.
- Pick a date, add items (name, quantity, rate).
- Use "Add Another Item" and cancel extras with "X".
- Save or back out anytime.
- View item breakdowns.
- Hit "Edit" to tweak, add, or remove items, then save.
- Check out a line chart of your monthly spending.
- React Native: Mobile app foundation
- Expo: Streamlined dev workflow
- TypeScript: Type-safe code
- AsyncStorage: Local data storage
- React Navigation: Smooth screen transitions
- expo-linear-gradient: Gradient UI flair
- expo-file-system & expo-sharing: CSV export magic
- react-native-chart-kit: Trend visualization
- @react-native-community/datetimepicker: Date picker
- @expo/vector-icons: Icon goodness
retail-goods-manager/
├── src/
│ ├── screens/
│ │ ├── HomeScreen.tsx # List and edit purchases
│ │ ├── AddPurchaseScreen.tsx # Add new purchases
│ │ ├── PurchaseDetailsScreen.tsx # Edit purchase details
│ │ └── SpendingScreen.tsx # Spending trends chart
│ ├── store/
│ │ └── storage.tsx # AsyncStorage logic
│ └── utils/
│ └── csvUtils.tsx # CSV export utils
├── App.tsx # App entry & navigation
├── package.json # Dependencies & scripts
└── README.md # You’re here!
Love to see your input! Here’s how:
- Fork this repo.
- Branch out:
git checkout -b feature/your-cool-idea. - Commit changes:
git commit -m "Added cool idea". - Push it:
git push origin feature/your-cool-idea. - Open a pull request with details.
Keep code style consistent and comments clear!
- Inspired by React Native best practices.
- Big thanks to the open-source community for stellar libraries!