{"id":25379282,"url":"https://github.com/dmarcosl/food-diary","last_synced_at":"2026-04-16T04:01:13.145Z","repository":{"id":277605982,"uuid":"932959939","full_name":"dmarcosl/food-diary","owner":"dmarcosl","description":"Cross-platform app to track your meals and their ingredients.","archived":false,"fork":false,"pushed_at":"2025-02-18T19:28:19.000Z","size":3289,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-09T11:19:08.542Z","etag":null,"topics":["ai-generated","android","capacitor","cross-platform","ionic","ios","mobile-app","pwa","react","typescript","web-app"],"latest_commit_sha":null,"homepage":"https://dmarcosl.github.io/food-diary/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dmarcosl.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-14T21:01:13.000Z","updated_at":"2025-03-16T06:38:05.000Z","dependencies_parsed_at":"2025-02-14T22:19:03.525Z","dependency_job_id":"9282f45d-8911-456e-a5b2-dae19f8e66fd","html_url":"https://github.com/dmarcosl/food-diary","commit_stats":null,"previous_names":["dmarcosl/food-diary"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dmarcosl/food-diary","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmarcosl%2Ffood-diary","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmarcosl%2Ffood-diary/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmarcosl%2Ffood-diary/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmarcosl%2Ffood-diary/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dmarcosl","download_url":"https://codeload.github.com/dmarcosl/food-diary/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmarcosl%2Ffood-diary/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31870516,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"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":["ai-generated","android","capacitor","cross-platform","ionic","ios","mobile-app","pwa","react","typescript","web-app"],"created_at":"2025-02-15T05:19:25.867Z","updated_at":"2026-04-16T04:01:13.122Z","avatar_url":"https://github.com/dmarcosl.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Food Diary App\n\nA mobile application to track your meals and their ingredients, built with React, TypeScript, and Capacitor.\n\n## Description\n\nFood Diary helps you keep track of your meals, plan weekly menus, and manage ingredients. It's designed to help you maintain a record of your favorite meals, organize weekly meal planning, and track when you last had specific dishes.\n\n## Features\n\n### Meal Management\n- Add meals with dates\n- Categorize meals (breakfast, lunch, dinner)\n- Track ingredients for each meal\n- View meal history\n- Edit meal details\n- Quick access to meal details from menus\n\n### Menu Planning\n- Create weekly menus\n- Customize menu days and meal types\n- Assign multiple dishes to each meal type\n- Quick navigation between menus and dishes\n- Edit menu days individually\n- Automatic day ordering (Monday to Sunday)\n- Edit menu configuration (included days and meal types)\n- Multiple dishes per meal type support\n\n### User Interface\n- Dark mode support\n- Responsive design\n- Multi-language support (English and Spanish)\n- Customizable sorting options\n  - Sort by date\n  - Show undated items first\n  - Sort in descending/ascending order\n- Interactive meal type icons\n- Quick navigation between related items\n- Confirmation dialogs for important actions\n\n## Technical Features\n- Built with React and TypeScript\n- Uses Material-UI components\n- Local storage with Capacitor Preferences\n- Internationalization with react-intl\n- Mobile-first responsive design\n- State persistence for user preferences\n- Modular component architecture\n- Type-safe data management\n\n## Installation\n\n1. Clone the repository\n```bash\ngit clone https://github.com/yourusername/food-diary.git\ncd food-diary\n```\n\n2. Install dependencies\n```bash\nnpm install\n```\n\n3. Start development server\n```bash\nnpm start\n```\n\n## Building for Production\n\n### Web Build\n```bash\nnpm run build\n```\n\n### Android Build\n```bash\nnpx cap add android\nnpx cap sync\nnpx cap open android\n```\n\n\u003e Note: App icons are already included in the repository. However, if you want to change them:\n\u003e 1. Generate new icons using [Icon Kitchen](https://icon.kitchen/)\n\u003e 2. Run the icons script:\n\u003e    ```bash\n\u003e    chmod +x move-icons.sh\n\u003e    ./move-icons.sh\n\u003e    ```\n\nTo generate the APK:\n1. Open the project in Android Studio\n2. Go to `Build \u003e Build Bundle(s) / APK(s) \u003e Build APK(s)`\n3. The APK will be generated at:\n   ```\n   android/app/build/outputs/apk/debug/app-debug.apk\n   ```\n\n### iOS Build (untested)\n```bash\nnpx cap add ios\nnpx cap sync\nnpx cap open ios\n```\n\nTo generate the IPA:\n1. Open the project in Xcode\n2. Select your target device\n3. Go to `Product \u003e Archive`\n4. Once archived, click `Distribute App`\n5. The IPA will be generated at:\n   ```\n   ~/Library/Developer/Xcode/Archives/YYYY-MM-DD/App MM-DD-YY, HH.MM.xcarchive\n   ```\n\n\u003e Note: iOS build hasn't been tested. You'll need:\n\u003e - macOS\n\u003e - Xcode installed\n\u003e - Apple Developer account\n\u003e - Proper certificates and provisioning profiles\n\n## Automatic Deployment\n\nThis project uses GitHub Actions for automatic deployment to GitHub Pages. Every time a push is made to the `main` branch, the site is automatically built and deployed.\n\n### Deployment Configuration\n\n1. Make sure GitHub Pages is enabled in your repository:\n   - Go to Settings \u003e Pages\n   - Under \"Source\", select \"GitHub Actions\"\n\n2. Configure repository permissions for Actions:\n   - Go to Settings \u003e Actions \u003e General\n   - Under \"Workflow permissions\":\n     - Select \"Read and write permissions\"\n   - Save changes\n\n3. The workflow is already configured in `.github/workflows/static-site.yml` and will handle:\n   - Building the project\n   - Deploying the generated files to GitHub Pages\n\n4. You don't need to do anything else - changes will be deployed automatically when:\n   - You push to the `main` branch\n   - A pull request is merged into `main`\n\n### Deployment Structure\n\nThe deployment process:\n1. Installs dependencies (`npm install`)\n2. Builds the site (`npm run build`)\n3. Deploys the files from the `build` folder to GitHub Pages\n\nYour site will be available at: `/food-diary` or `https://[your-username].github.io/food-diary`\n\n## Usage\n\n1. **Adding Meals**\n   - Tap the + button\n   - Select \"Create Dish\"\n   - Enter meal name\n   - Select category (Breakfast/Lunch/Dinner)\n\n2. **Creating Menus**\n   - Tap the + button\n   - Select \"Create Menu\"\n   - Enter menu name\n   - Select days to include\n   - Choose meal types to include\n\n3. **Managing Menus**\n   - Edit menu configuration\n   - Add/remove dishes to specific days\n   - Navigate to dish details from menu\n   - Delete menus when needed\n\n4. **Managing Meals**\n   - Tap a meal to expand\n   - Add dates when you eat it\n   - Add/edit ingredients\n   - View meal history\n\n5. **Settings**\n   - Access via menu button (top-right)\n   - Toggle dark mode\n   - Change language (EN/ES)\n   - Change sorting preferences\n\n## Contributing\n\nPull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmarcosl%2Ffood-diary","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdmarcosl%2Ffood-diary","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdmarcosl%2Ffood-diary/lists"}