{"id":47072445,"url":"https://github.com/marcuscastelo/macroflows","last_synced_at":"2026-03-12T06:12:54.349Z","repository":{"id":237352981,"uuid":"664298330","full_name":"marcuscastelo/macroflows","owner":"marcuscastelo","description":"Macroflows is a modular nutrition-tracking app built with SolidJS, TypeScript, and Postgres.","archived":false,"fork":false,"pushed_at":"2025-12-06T19:47:56.000Z","size":35401,"stargazers_count":0,"open_issues_count":249,"forks_count":0,"subscribers_count":1,"default_branch":"rc/v0.16.0","last_synced_at":"2025-12-09T08:41:25.257Z","etag":null,"topics":["ci-cd","diet","diet-tracking","health","macro-tracker","macronutrients","meal-planning","nutrition","personalized-diet","postgres","solidjs","supabase","typescript","webapp"],"latest_commit_sha":null,"homepage":"https://macroflows.vercel.app","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/marcuscastelo.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-07-09T14:43:27.000Z","updated_at":"2025-12-06T00:19:28.000Z","dependencies_parsed_at":"2024-08-05T03:19:02.416Z","dependency_job_id":"a50a51ca-0618-4460-a575-4c19e2239fec","html_url":"https://github.com/marcuscastelo/macroflows","commit_stats":null,"previous_names":["marcuscastelo/marucs-diet","marcuscastelo/macroflows"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/marcuscastelo/macroflows","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcuscastelo%2Fmacroflows","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcuscastelo%2Fmacroflows/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcuscastelo%2Fmacroflows/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcuscastelo%2Fmacroflows/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcuscastelo","download_url":"https://codeload.github.com/marcuscastelo/macroflows/tar.gz/refs/heads/rc/v0.16.0","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcuscastelo%2Fmacroflows/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30417026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-12T04:41:02.746Z","status":"ssl_error","status_checked_at":"2026-03-12T04:40:12.571Z","response_time":114,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["ci-cd","diet","diet-tracking","health","macro-tracker","macronutrients","meal-planning","nutrition","personalized-diet","postgres","solidjs","supabase","typescript","webapp"],"created_at":"2026-03-12T06:12:53.810Z","updated_at":"2026-03-12T06:12:54.337Z","avatar_url":"https://github.com/marcuscastelo.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Macroflows \n###  [![EN](https://img.shields.io/badge/lang-EN_(cur.)-lightgray)](README.md) [![PT-BR](https://img.shields.io/badge/lang-PT--BR-blue)](docs/locale/pt-br/README.md)\n\nhttps://macroflows.vercel.app\n\nA modular, high-performance nutrition tracking platform built with SolidJS, strong typing, and clean architecture principles.\n\n![Version](https://img.shields.io/badge/version-0.15.0-blue.svg)\n![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript\u0026logoColor=white)\n![SolidJS](https://img.shields.io/badge/SolidJS-2c4f7c?logo=solid\u0026logoColor=white)\n![Supabase](https://img.shields.io/badge/Supabase-3ECF8E?logo=supabase\u0026logoColor=white)\n![Tailwind CSS](https://img.shields.io/badge/Tailwind_CSS-38B2AC?logo=tailwind-css\u0026logoColor=white)\n\n---\n\n## Screenshots\n\n\u003cp\u003eClick on the thumbnails to open/close each image individually — this way you don't have to scroll the page to see the content.\u003c/p\u003e\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eDiet Page\u003c/summary\u003e\n        \u003cp\u003e\n          \u003cimg src=\"https://github.com/user-attachments/assets/bf294e75-117c-447b-8953-6452877dfb46\" alt=\"Diet Page\" width=\"768\"/\u003e\n        \u003c/p\u003e\n      \u003c/details\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eFood Search\u003c/summary\u003e\n        \u003cp\u003e\n          \u003cimg src=\"https://github.com/user-attachments/assets/1b982883-b36b-49ab-a4be-a45d3d574c78\" alt=\"Food Search\" width=\"771\"/\u003e\n        \u003c/p\u003e\n      \u003c/details\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eWeight Tracking\u003c/summary\u003e\n        \u003cp\u003e\n          \u003cimg src=\"https://github.com/user-attachments/assets/e8939ee8-4e28-4e10-b870-8ab51044e54e\" alt=\"Weight Tracking\" width=\"764\"/\u003e\n        \u003c/p\u003e\n      \u003c/details\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cdetails\u003e\n        \u003csummary\u003eMacro Profile\u003c/summary\u003e\n        \u003cp\u003e\n          \u003cimg src=\"https://github.com/user-attachments/assets/0066ad09-2d49-49aa-929a-5ef639373329\" alt=\"Macro Profile\" width=\"777\"/\u003e\n        \u003c/p\u003e\n      \u003c/details\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\n## Overview\n\nMacroflows is a nutrition tracking system focused on strong typing, reactive UI, and modular domain-driven design. It follows clean architecture principles and integrates with modern backend and frontend tools.\n\nFor now, it is focused on being a personal project to track my own nutrition, but maybe in the future it will be a SaaS product.\n\n---\n\n## Features\n\n### Nutrition \u0026 Progress\n- Macro tracking (carbs, protein, fat)\n- Real-time calorie and macro calculations\n- Personalized macro profiles (g/kg)\n- Daily progress visualization with charts\n\n### Body Data\n- Body fat estimation (U.S. Navy method)\n- Weight logging with trend visualization\n\n### Food Management\n- EAN barcode scanning\n- Searchable food database\n- User recent searches, favorites, and history\n- Custom recipe builder with automatic macro calculation\n- Meal planning and reusable templates\n\n### User Interface\n- Responsive design\n- Fine-grained real-time updates (SolidJS signals)\n- Simple, fast navigation optimized for daily use\n\n---\n\n## Architecture\n\n```\nsrc/\n└── modules/                \n    ├── diet/               # Diet tracking module\n    │   ├── application/    # Use cases and business logic\n    │   ├── domain/         # Core domain entities and types\n    │   ├── infrastructure/ # Data sources (API, DB)\n    │   └── ui/             # UI components specific to diet module\n    ├── body/               # Body data module\n    │   ├── ...             # Similar structure as diet module\n    ├── clipboard/          # Clipboard management module\n    │   ├── ...             # Similar structure as diet module\n    └── ...                 # Other modules (auth, recipes, food search, etc.)\n```\n\n---\n\n## Tech Stack\n\n- **Frontend:** SolidJS, TypeScript, TailwindCSS  \n- **Backend:** Supabase (PostgreSQL, Realtime) \n  - Note: for simplicity, the backend is tightly coupled with the frontend in this project.\n- **Validation \u0026 Charts:** Zod, ApexCharts  \n- **Dev Tools:** ESLint, Prettier, html5-qrcode  \n\n---\n\n## Getting Started\n\n### Requirements\n- Node.js 20+\n- Supabase account\n\n### Setup\n\n\u003e **Environment Variables:**\n\u003e Copy `.env.example` to `.env.local` and fill in the required values. This file lists all environment variables needed to run the project.\n\u003e Do not commit secrets to version control.\n\n```bash\ngit clone https://github.com/marcuscastelo/macroflows.git\ncd macroflows\nnpm install\n\ncp .env.example .env.local  # Add your Supabase credentials\nnpm run dev\n```\n\n---\n\n## Roadmap\n\n- OpenTelemetry integration\n- PWA support\n- ML-based food recognition\n- Social features (sharing, collaboration)\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcuscastelo%2Fmacroflows","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcuscastelo%2Fmacroflows","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcuscastelo%2Fmacroflows/lists"}