A modern React Native application built with Expo for organizing and managing your receipts digitally. Keep track of your purchases, warranties, and important documents all in one place.
- ๐ Google OAuth Authentication - Secure login with your Google account
- ๐ฑ Cross-platform - Works on both iOS and Android
- ๐ท Image Upload - Capture and store receipt photos
- ๐ Date Management - Track purchase and warranty expiry dates
- ๐๏ธ Receipt Organization - View all your receipts in a clean card layout
- โ๏ธ Edit & Deletelete - Modify or remove receipts as needed
- ๐ Real-time Sync - Data synced across devices via Appwrite
- ๐ฑ Responsive Design - Optimized for mobile devices
- Frontend: React Native with Expo
- Backend: Appwrite (BaaS)
- Authentication: Google OAuth via Appwrite
- Storage: Appwrite Storage for images
- Database: Appwrite Databases
- Navigation: Expo Router
- Styling: React Native StyleSheet
- Build Tool: EAS Build
- Node.js (v16 or higher)
- npm or yarn
- Expo CLI
- Android Studio (for local builds)
- Appwrite account and project
git clone https://github.com/yourusername/receipt-manager-app.git
cd receipt-manager-appnpm install
# or
yarn installlCreate a .env file in the root directory:
EXPO_PUBLIC_APPWRITE_ENDPOINT=https://your-appwrite-endpoint
EXPO_PUBLIC_APPWRITE_PROJECT_ID=your-project-id
EXPO_PUBLIC_DATABASE_ID=your-database-id
EXPO_PUBLIC_BUCKET_ID=your-bucket-id- Create an Appwrite project
- Set up Google OAuth provider
- Create a database with the following collections:
users- User profilesreceipt- Receipt data
- Create a storage bucket for receipt images
- Configure appropriate permissions
# Start the development server
expo start
# Run on Android
expo start --android
# Run on iOS
expo start --ioss# Install EAS CLI
npm install -g @expo/eas-cli
# Login to Expo
eas login
# Configure EAS
eas build:configure
# Build APK
eas build --platform android --profile previeww# Build locally (requires Android SDK)
eas build --platform android --profile preview --locallreceipt-manager-app/
โโโ src/
โ โโโ app/
โ โ โโโ (auth)/
โ โ โ โโโ index.tsx # Login screen
โ โ โโโ (main)/
โ โ โ โโโ index.tsx # Main receipts list
โ โ โ โโโ addReceipt.tsx # Add receipt form
โ โ โโโ _layout.tsx
โ โโโ components/
โ โ โโโ Themed.tsx
โ โโโ lib/
โ โ โโโ appwrite.ts # Appwrite configuration
โ โโโ services/
โ โโโ auth.ts # Authentication service
โ โโโ receipt.ts # Receipt CRUD operations
โโโ assets/ # Images and static files
โโโ app.json # Expo configuration
โโโ eas.json # EAS Build configuration
โโโ package.json
๏ฟฝ๏ฟฝโ package.json
- Login: Use your Google account to sign in
- Add Receipt: Tap "Add Receipt" to create a new entry
- Fill Details: Enter receipt name and select dates
- Upload Image: Take a photo or select from gallery
- View Receipts: Browse all your receipts in the main screen
- Manage: Edit or delete receipts as needed
- Google OAuth for secure authentication
- Row-level security with Appwrite
- User-specific data isolation
- Secure image storage
- OCR text extraction from receipts
- Category-based receipt organization
- Expense analytics and reporting
- Receipt sharing functionality
- Offline mode support
- Export to PDF/CSV