HomeStock is a Flutter-based mobile application that helps you manage your home pantry efficiently. Track food items, monitor expiration dates, and streamline your grocery shopping process - all in one place.
- 🍎 Inventory Tracking: Maintain a detailed database of all food items in your pantry
- ⏱️ Expiration Monitoring: Get alerts on items nearing expiration to reduce food waste
- 🛒 Shopping Cart Integration: Easily add depleted items to your shopping list
- 🔍 Category Filtering: Browse your pantry by food categories (Vegetables, Grains, Dairy, etc.)
- 🗑️ Bin Management: Archive expired or consumed items for future reference
- 📊 Quantity Control: Track and update quantities as you use items
- Flutter (version 3.0.0 or higher)
- Dart (version 2.17.0 or higher)
- Android Studio / Xcode for emulators
# Clone the repository
git clone https://github.com/your-username/homestock.git
# Navigate to the project directory
cd homestock
# Get Flutter dependencies
flutter pub get
# Run the app
flutter run
# Build APK
flutter build apk
# Build iOS
flutter build ioslib/
├── main.dart
├── database
├── models
│ ├── repositories/
│ └── services/
├── utils/
│ └── constants/
│ └── device/
│ └── helpers/
│ └── themes/
├── views
└── widgets
└── custom_shapes/
└── custom_widgets/
- Framework: Flutter
- Language: Dart
- State Management: Getx
- Database: SQLite
- CI/CD: GitHub Actions
- Adding Items: Tap the "+" button to add new items to your inventory
- Managing Quantities: Use the +/- buttons to adjust quantities
- Shopping: Items with 0 quantity are added to shopping suggestions
- Expiration Tracking: Items are color-coded based on expiration status
- Bin Management: Access the Bin to see expired or finished items
# Run unit tests
flutter test
# Run integration tests
flutter test integration_test
# Check code coverage
flutter test --coverage- Android
- iOS
- Web (future support)
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your code follows the project's style guidelines and passes all tests.
This project is licensed under the MIT License - see the LICENSE file for details.




