{"id":30546409,"url":"https://github.com/mhmzdev/flutter_single_code","last_synced_at":"2025-08-28T01:40:25.137Z","repository":{"id":310316427,"uuid":"1039418594","full_name":"mhmzdev/flutter_single_code","owner":"mhmzdev","description":"An exmaple of setting up and manaing the single code base in flutter - web + mobile + tablet","archived":false,"fork":false,"pushed_at":"2025-08-17T08:10:32.000Z","size":271,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-17T10:06:03.612Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","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/mhmzdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-17T07:18:33.000Z","updated_at":"2025-08-17T08:05:08.000Z","dependencies_parsed_at":"2025-08-17T10:17:06.616Z","dependency_job_id":null,"html_url":"https://github.com/mhmzdev/flutter_single_code","commit_stats":null,"previous_names":["mhmzdev/flutter_single_code"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mhmzdev/flutter_single_code","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhmzdev%2Fflutter_single_code","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhmzdev%2Fflutter_single_code/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhmzdev%2Fflutter_single_code/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhmzdev%2Fflutter_single_code/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mhmzdev","download_url":"https://codeload.github.com/mhmzdev/flutter_single_code/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhmzdev%2Fflutter_single_code/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272414815,"owners_count":24931093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-27T02:00:09.397Z","response_time":76,"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":[],"created_at":"2025-08-28T01:40:22.298Z","updated_at":"2025-08-28T01:40:25.136Z","avatar_url":"https://github.com/mhmzdev.png","language":"C++","readme":"# Flutter Single Code Base\nThis repo is giving a minimal example of setting up and managing the single code for mobile, tablet and desktop in flutter.\n\n| A complete guide is available in [architecture_guide.md](docs/architecture_guide.md)\n\n## 📸 Video \u0026 Written Tutorial\n- YouTube video series: https://youtu.be/_ZASShlSHs8. If you want to follow the progress, you can follow along the Parts branches given.\n- Written tutorial: https://mhmzdev.medium.com/the-art-of-managing-single-code-base-flutter-part-01-80ab2ad2ad9d\n\n\u003ca href=\"https://youtube.com/happyfluttering\"\u003e\u003cimg src=\"showcase/youtube.png\" width=\"500\" height=\"auto\" alt=\"art of managing single code youtube\"\u003e\u003c/a\u003e\n\n## Overview\nIt covers the flow as:\n- ✅ Separate UI for each view\n- ✅ Shared state/logic for all views - Single Source of Truth\n- ✅ Platform specific UI and Functionality\n\n\u003cimg src=\"showcase/overview.gif\" width=\"800\" height=\"auto\" alt=\"overview\"\u003e\n\n## 🧱 Architecture\nA screen structure would like this:\n```\ntasks/\n├── tasks.dart           # Main screen entry point\n├── _state.dart          # Shared state management\n├── views/\n│   ├── _desktop.dart    # Desktop-specific UI\n│   ├── _mobile.dart     # Mobile-specific UI\n│   └── _tablet.dart     # Tablet-specific UI\n└── widgets/\n    ├── _categories_list.dart\n    ├── _task_details.dart\n    └── _tasks_list.dart\n```\n\n## ➡️ Up next\nWill be talking about following in coming tutorials:\n\n- Managing single code via Monorepo architecture\n- Modularization\n- Melos package\n\n\n## 🔑 License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details\n\n## 🙋‍♂️ Author\n#### Muhammad Hamza\n[![LinkedIn Link](https://img.shields.io/badge/Connect-Hamza-blue.svg?logo=linkedin\u0026longCache=true\u0026style=social\u0026label=Connect\n)](https://www.linkedin.com/in/mhmzdev)\n\nYou can also follow my GitHub Profile to stay updated about my latest projects:\n\n[![GitHub Follow](https://img.shields.io/badge/Connect-Hamza-blue.svg?logo=Github\u0026longCache=true\u0026style=social\u0026label=Follow)](https://github.com/mhmzdev)\n\nIf you liked the repo then kindly support it by giving it a star ⭐!\n\nCopyright (c) 2025 MUHAMMAD HAMZA","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhmzdev%2Fflutter_single_code","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmhmzdev%2Fflutter_single_code","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhmzdev%2Fflutter_single_code/lists"}