{"id":35500047,"url":"https://github.com/alemdisso/gastrobrain","last_synced_at":"2026-05-01T22:02:52.675Z","repository":{"id":277413874,"uuid":"931750992","full_name":"alemdisso/gastrobrain","owner":"alemdisso","description":"A personal cooking companion app ","archived":false,"fork":false,"pushed_at":"2026-05-01T01:19:09.000Z","size":16867,"stargazers_count":1,"open_issues_count":63,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2026-05-01T03:13:23.626Z","etag":null,"topics":["cooking","eating","organizing","planning","tracking"],"latest_commit_sha":null,"homepage":"","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alemdisso.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/roadmaps/issue-193-roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-12T19:48:15.000Z","updated_at":"2026-05-01T01:19:13.000Z","dependencies_parsed_at":"2025-12-26T01:00:20.807Z","dependency_job_id":null,"html_url":"https://github.com/alemdisso/gastrobrain","commit_stats":null,"previous_names":["alemdisso/gastrobrain"],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/alemdisso/gastrobrain","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alemdisso%2Fgastrobrain","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alemdisso%2Fgastrobrain/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alemdisso%2Fgastrobrain/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alemdisso%2Fgastrobrain/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alemdisso","download_url":"https://codeload.github.com/alemdisso/gastrobrain/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alemdisso%2Fgastrobrain/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32514340,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cooking","eating","organizing","planning","tracking"],"created_at":"2026-01-03T18:12:32.976Z","updated_at":"2026-05-01T22:02:52.645Z","avatar_url":"https://github.com/alemdisso.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gastrobrain\n\n[![codecov](https://codecov.io/gh/alemdisso/gastrobrain/graph/badge.svg)](https://codecov.io/gh/alemdisso/gastrobrain)\n\nA personal cooking companion app that helps you plan, organize, and track your culinary journey with intelligent recommendations and comprehensive meal management.\n\n## About\n\nGastrobrain is a Flutter-based mobile application designed to assist home cooks in managing their recipes, planning meals, and organizing shopping. It focuses on providing a personal, workbook-like approach to recipe management with sophisticated recommendation algorithms that encourage dietary variety and help maintain cooking routines.\n\n## Features\n\n### Recipe Management\n\n- **Comprehensive Recipe Library** - Store recipes with difficulty ratings, cook times, serving sizes, and categories\n- **Recipe Search \u0026 Filtering** - Find recipes by name, difficulty, rating, frequency, and category with visual filter indicators\n- **Unified Recipe Details** - Tabbed view showing overview, ingredients, instructions, and meal history\n- **Multi-Ingredient Support** - Track recipes with multiple protein sources and complex ingredient lists\n- **Protein Type Tracking** - Monitor and rotate protein usage for dietary variety\n- **Rating System** - Rate recipes from 1-5 stars to improve recommendations\n- **Bulk Recipe Update** - Development tool for efficient ingredient parsing and recipe enrichment\n\n### Intelligent Recommendations\n\n- **Smart Recommendation Engine** - Multi-factor scoring system (7 factors) based on:\n  - Recipe frequency and due dates\n  - Protein rotation (encourages dietary variety)\n  - User ratings and preferences\n  - Variety encouragement (promotes exploration)\n  - Temporal context (weekday/weekend adaptations)\n  - User feedback learning (historical success tracking)\n  - Controlled randomization for variety\n- **Context-Aware Suggestions** - Recommendations adapt to meal type, date, and cooking patterns\n- **Protein Rotation System** - Graduated penalties discourage protein repetition\n\n### Meal Planning \u0026 History\n\n- **Weekly Meal Planning** - Plan meals with multi-recipe support (main dishes + sides)\n- **Meal Type Selection** - Categorize meals as breakfast, brunch, lunch, dinner, or snack\n- **Cooking Session Tracking** - Log when recipes are cooked with actual times, servings, and notes\n- **Meal Plan Summary** - Weekly analytics with protein distribution, cooking time allocation, and variety metrics\n- **Meal History Analytics** - Track cooking patterns, success rates, and frequency with improved UI layout\n- **Retroactive Planning** - Plan meals after cooking for accurate history\n\n### Ingredients \u0026 Shopping\n\n- **Ingredient Database** - Comprehensive categorization with protein type tracking\n- **Shopping List Generation** - Generate shopping lists from weekly meal plans with automatic ingredient aggregation\n- **Ingredient Refinement** - Curate ingredients before creating shopping list (select/deselect items)\n- **Category Grouping** - Shopping items organized by category (Produce, Proteins, Dairy, etc.)\n- **Shopping Progress** - Checkbox tracking with \"to buy\" filters and \"hide to taste\" option\n- **Localized Units** - Support for metric and customary measurements with fraction display\n- **Smart Quantity Display** - Automatic fraction formatting (e.g., 1/2, 1/4, 3/4) for common values\n- **Enhanced Parser** - Supports Portuguese measurement units including 'maço' (bunch)\n- **Custom Ingredients** - Add custom ingredients when needed\n- **Recipe Ingredient Management** - Link ingredients to recipes with quantities and preparation notes\n\n### Localization\n\n- **Bilingual Support** - Full English and Portuguese localization\n- **Date \u0026 Time Formatting** - Proper locale-aware date and time display\n- **Ingredient Translation** - Built-in translation system for ingredient names and categories\n\n### Data Management\n\n- **Database Migrations** - Versioned schema evolution with automatic migrations\n- **Complete Backup \u0026 Restore** - JSON-based export/import system with data integrity validation\n- **Recipe Import Tool** - Restore recipes from bundled or custom backup files\n- **Data Export** - Export recipes and ingredients in human-readable JSON format\n- **Cross-Platform Compatibility** - File picker integration for Android/iOS backup handling\n- **Backup-Friendly** - SQLite database for easy backup and portability\n\n## Getting Started\n\n### Prerequisites\n\n- Flutter SDK (3.x or higher)\n- Dart SDK\n- SQLite support\n- Android Studio or VS Code with Flutter plugins\n\n### Installation\n\n1. Clone the repository\n\n   ```bash\n   git clone https://github.com/yourusername/gastrobrain.git\n   ```\n\n2. Install dependencies\n\n   ```bash\n   cd gastrobrain\n   flutter pub get\n   ```\n\n3. Generate localizations\n\n   ```bash\n   flutter gen-l10n\n   ```\n\n4. Run the app\n\n   ```bash\n   flutter run\n   ```\n\n### Running Tests\n\n```bash\n# Run all unit and widget tests\nflutter test\n\n# Run all E2E/integration tests\nflutter test integration_test/\n\n# Run specific E2E test\nflutter test integration_test/meal_planning_ui_test.dart\n\n# Run with coverage\nflutter test --coverage\n\n# Analyze code quality\nflutter analyze\n```\n\n### Test Coverage\n\nGenerate and view coverage reports locally:\n\n```bash\n# Generate coverage\nflutter test --coverage\n\n# View summary (requires lcov)\nlcov --summary coverage/lcov.info\n\n# Generate HTML report\ngenhtml coverage/lcov.info -o coverage/html\nxdg-open coverage/html/index.html  # Linux\n```\n\n**Installing lcov:**\n```bash\n# Ubuntu/Debian\nsudo apt-get install lcov\n```\n\n**Current coverage:** [![codecov](https://codecov.io/gh/alemdisso/gastrobrain/graph/badge.svg)](https://codecov.io/gh/alemdisso/gastrobrain)\n\n**Full report:** [Codecov Dashboard](https://codecov.io/gh/alemdisso/gastrobrain)\n\n## Project Structure\n\n```text\nlib/\n├── core/                  # Core functionality\n│   ├── di/               # Dependency injection (ServiceProvider)\n│   ├── errors/           # Custom exception hierarchy\n│   ├── migration/        # Database migration system\n│   ├── providers/        # State management (Provider pattern)\n│   ├── repositories/     # Cached data access layer\n│   ├── services/         # Business logic services\n│   ├── theme/            # Design tokens, app theme, button styles\n│   └── validators/       # Entity validation\n├── database/             # Database layer (DatabaseHelper)\n├── models/               # Data models (21 models)\n├── screens/              # UI screens (15 screens)\n├── services/             # Additional services (shopping list)\n├── widgets/              # Reusable widgets \u0026 dialogs (15 widgets)\n├── l10n/                 # Localization files (EN/PT, 478+ keys)\n└── utils/                # Utility functions\n\ndocs/                     # Documentation\n├── architecture/         # System architecture \u0026 design\n├── design/               # Visual identity, design tokens, UX\n├── testing/              # Testing guides \u0026 resources\n├── workflows/            # Development processes\n├── planning/             # Milestones, sprints, feature specs\n├── issues/               # Issue-level analysis \u0026 roadmaps\n└── archive/              # Historical documents\n```\n\n## Development Status\n\n**Current Version: v0.1.7** - UI Polish \u0026 Design System\n\n### Major Achievements\n\n- ✅ Modern architecture with dependency injection (ServiceProvider pattern)\n- ✅ Comprehensive testing infrastructure (1670+ tests, Codecov integration)\n- ✅ Full bilingual support (English/Portuguese) with 478+ localized strings\n- ✅ Advanced recommendation engine with 7 scoring factors and temporal intelligence\n- ✅ Database migration system (5 migrations) with backup/restore functionality\n- ✅ Shopping list generation from meal plans with ingredient refinement\n- ✅ Meal plan summary analytics with protein distribution tracking\n- ✅ CI/CD pipeline with GitHub Actions (automated release builds)\n- ✅ Multi-ingredient and multi-recipe meal support (main + side dishes)\n- ✅ Design token system with Material 3 theme and visual identity\n- ✅ Recipe search, filtering (difficulty, rating, frequency, category), and sorting\n- ✅ Unified recipe details screen with tabbed view (overview, ingredients, instructions, history)\n- ✅ Bulk recipe update tool with ingredient parsing and fuzzy matching\n- ✅ Enhanced ingredient parser with Portuguese measurement units and fraction display\n\n### Future Milestones\n\n- **v0.2.0** - Advanced features (enhanced meal planning, analytics)\n- **v0.3.0** - Beta-ready phase with multi-user foundations\n- **v0.4.0** - Server-client architecture for broader user base\n- **v1.0.0** - Community platform with recipe sharing\n\n## Tech Stack\n\n- **Framework**: Flutter/Dart\n- **Database**: SQLite with sqflite package\n- **State Management**: Provider pattern\n- **Architecture**: Clean architecture with dependency injection\n- **Testing**: flutter_test, mockito, integration_test\n- **Localization**: ARB-based l10n system\n- **CI/CD**: GitHub Actions\n\n## Documentation\n\n- [**Documentation Index**](docs/README.md) - Complete documentation index and quick links\n- [**Codebase Overview**](docs/architecture/Gastrobrain-Codebase-Overview.md) - Architecture and patterns\n- [**Recommendation Engine**](docs/architecture/RECOMMENDATION_ENGINE.md) - Complete guide to the recommendation system\n- [**Design System**](docs/design/) - Visual identity, design tokens, theme usage, component patterns\n- [**Testing Guides**](docs/testing/) - Dialog testing, edge case testing, and test patterns\n- [**Issue Workflow**](docs/workflows/ISSUE_WORKFLOW.md) - Development workflow and Git Flow practices\n- [**Release Workflow**](docs/workflows/RELEASE_WORKFLOW.md) - Release process and versioning\n- [**L10N Protocol**](docs/workflows/L10N_PROTOCOL.md) - Localization guidelines\n- [**Changelog**](CHANGELOG.md) - Release notes and version history\n\n## Contributing\n\nThis project is currently in early development and not open for contributions. Stay tuned for updates.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n\n## Acknowledgments\n\n- Inspired by home cooking experiences during COVID-19 lockdown\n- Built with assistance from Anthropic's Claude AI\n- Special thanks to all home cooks who inspired this project\n\n## Contact\n\nFor questions or feedback, please open an issue in the repository.\n\n---\n\n**Note**: This project is under active development. Features and documentation may change frequently.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falemdisso%2Fgastrobrain","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falemdisso%2Fgastrobrain","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falemdisso%2Fgastrobrain/lists"}