PantryPal is a cross-platform mobile app designed to streamline pantry management, meal planning, and recipe generation. By leveraging your existing ingredients, it helps reduce food waste, simplifies cooking, and enhances your kitchen experience.
DEMO -- https://www.youtube.com/watch?v=-adObvbU_BQ
- Secure user login and account creation powered by Supabase Auth.
- Track Inventory: Add, edit, or remove items with details like quantity, unit, and expiration date.
- Auto-Categorization: Automatically groups items into categories (e.g., Produce, Dairy, Grains).
- Nutritional Scanner: Upload nutrition labels to auto-populate calories and macronutrients.
- Smart Recipes: Generate recipes tailored to your available ingredients.
- Detailed Instructions: Includes cook time, difficulty, ingredients, and step-by-step guidance.
- Cookbook: Save favorite recipes for quick access.
- Auto-Generated Lists: Add missing recipe ingredients with one tap.
- Organized by Category: Grouped for efficient in-store navigation.
- Cost Estimation: Track item prices and estimate total spend.
- Interactive: Check off items as you shop.
| Technology | Purpose |
|---|---|
| React Native + Expo | Cross-platform mobile development |
| TypeScript | Type-safe code |
| React Native Paper | Material Design UI components |
| Expo Router | File-based navigation |
| Supabase | Authentication, real-time DB, backend |
| .env | Environment variable configuration |
- Node.js v18 or higher
- npm or yarn
- Expo Go app (for mobile testing) or an Android/iOS emulator
-
Clone the Repository
git clone https://github.com/MeghP89/PantryPal.git cd PantryPal -
Install Dependencies
npm install
-
Configure Environment Variables Create a
.envfile in the project root and add your Supabase credentials:SUPABASE_URL=your-supabase-url SUPABASE_ANON_KEY=your-supabase-anon-key
Replace
your-supabase-urlandyour-supabase-anon-keywith your Supabase project details from the Supabase dashboard. -
Start the App
npx expo start --clear
- Scan the QR code with Expo Go or run on an emulator.
- Follow the on-screen instructions to launch the app.
- Ensure you have a Supabase project set up in the Supabase dashboard.
- For real-time features, configure Supabase real-time subscriptions for live inventory updates.
- Test nutritional scanning with diverse label formats for optimal accuracy.
Contributions are welcome! Please fork the repository, create a feature branch, and submit a pull request. Ensure your code follows the project's TypeScript and React Native conventions.
For issues or feature requests, open a GitHub issue or reach out via the PantryPal community.