{"id":50299229,"url":"https://github.com/flutterbysunny/flutter_getx_clean_starter","last_synced_at":"2026-05-28T11:03:01.572Z","repository":{"id":359112924,"uuid":"1244579770","full_name":"flutterbysunny/flutter_getx_clean_starter","owner":"flutterbysunny","description":"Production-ready Flutter boilerplate with GetX  Clean Architecture, Dio, Secure Storage \u0026 Auth flow","archived":false,"fork":false,"pushed_at":"2026-05-20T12:03:08.000Z","size":443,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-20T16:41:17.882Z","etag":null,"topics":["android","boilerplate","clean-architecture","dart","dio","flutter-apps","flutter-getx","flutter-template","getx","getx-state-management","ios"],"latest_commit_sha":null,"homepage":"","language":"Dart","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/flutterbysunny.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":"2026-05-20T11:56:58.000Z","updated_at":"2026-05-20T12:53:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/flutterbysunny/flutter_getx_clean_starter","commit_stats":null,"previous_names":["flutterbysunny/flutter_getx_clean_starter"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/flutterbysunny/flutter_getx_clean_starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutterbysunny%2Fflutter_getx_clean_starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutterbysunny%2Fflutter_getx_clean_starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutterbysunny%2Fflutter_getx_clean_starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutterbysunny%2Fflutter_getx_clean_starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flutterbysunny","download_url":"https://codeload.github.com/flutterbysunny/flutter_getx_clean_starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flutterbysunny%2Fflutter_getx_clean_starter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33605384,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-28T02:00:06.440Z","response_time":99,"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":["android","boilerplate","clean-architecture","dart","dio","flutter-apps","flutter-getx","flutter-template","getx","getx-state-management","ios"],"created_at":"2026-05-28T11:03:01.498Z","updated_at":"2026-05-28T11:03:01.560Z","avatar_url":"https://github.com/flutterbysunny.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏗️ Flutter GetX Clean Architecture\n\nA production-ready Flutter boilerplate using **GetX** and **Clean Architecture** principles. Built for developers who want a scalable, maintainable, and testable Flutter app structure.\n\n![Flutter](https://img.shields.io/badge/Flutter-3.x-blue?logo=flutter)\n![Dart](https://img.shields.io/badge/Dart-3.x-blue?logo=dart)\n![GetX](https://img.shields.io/badge/GetX-4.6.6-purple)\n![License](https://img.shields.io/badge/License-MIT-green)\n\n---\n\n## ✨ Features\n\n- ✅ Clean Architecture (Domain → Data → Presentation)\n- ✅ GetX State Management\n- ✅ GetX Navigation \u0026 Routing\n- ✅ GetX Dependency Injection\n- ✅ Dio + Auth Interceptor\n- ✅ Secure Token Storage\n- ✅ Auth Middleware (Route Guard)\n- ✅ Light / Dark Theme\n- ✅ Form Validation\n- ✅ Error Handling (dartz Either)\n- ✅ Working Auth Example (Login + Register)\n\n---\n\n## 📸 Screenshots\n\n| Login | Register | Home |\n|-------|----------|------|\n| ![Login](screenshots/login.png) | ![Register](screenshots/register.png) | ![Home](screenshots/home.png) |\n\n---\n\n## 🏛️ Architecture\n\nlib/\n├── app/\n│   ├── data/\n│   │   ├── models/          # JSON parsing, toEntity()\n│   │   ├── providers/       # Dio API calls\n│   │   └── repositories/    # Abstract impl\n│   ├── domain/\n│   │   ├── entities/        # Pure Dart classes\n│   │   ├── repositories/    # Abstract contracts\n│   │   └── usecases/        # Business logic\n│   ├── modules/\n│   │   ├── auth/\n│   │   │   ├── bindings/    # DI setup\n│   │   │   ├── controllers/ # GetX controllers\n│   │   │   └── views/       # UI screens\n│   │   └── home/\n│   └── routes/              # App pages \u0026 routes\n└── core/\n├── constants/            # App constants \u0026 routes\n├── middleware/           # Auth route guard\n├── network/              # Dio client \u0026 exceptions\n├── storage/              # Secure storage service\n├── theme/                # Light \u0026 dark theme\n└── utils/                # Helper functions\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Flutter SDK 3.x\n- Dart SDK 3.x\n- Android Studio / VS Code\n\n### Installation\n\n**1. Clone the repo**\n```bash\ngit clone https://github.com/yourusername/flutter_getx_clean_starter.git\ncd flutter_getx_clean_starter\n```\n\n**2. Install dependencies**\n```bash\nflutter pub get\n```\n\n**3. iOS setup (Mac only)**\n```bash\ncd ios \u0026\u0026 pod install \u0026\u0026 cd ..\n```\n\n**4. Configure API**\n\nOpen `lib/core/constants/app_constants.dart`:\n```dart\nstatic const String baseUrl = 'https://your-api-url.com/api/v1';\n```\n\n**5. Run the app**\n```bash\nflutter run\n```\n\n---\n\n## 📦 Dependencies\n\n| Package | Version | Purpose |\n|---------|---------|---------|\n| get | ^4.6.6 | State management, navigation, DI |\n| dio | ^5.4.0 | HTTP client |\n| flutter_secure_storage | ^9.0.0 | Secure token storage |\n| dartz | ^0.10.1 | Functional error handling |\n| equatable | ^2.0.5 | Value equality |\n| flutter_screenutil | ^5.9.0 | Responsive UI |\n\n---\n\n## 🔐 Auth Flow\n\nApp Start\n↓\nStorageService.init()\n↓\nisLoggedIn?\n↓           ↓\nYES           NO\n↓           ↓\nHome         Login\nScreen       Screen\n↓           ↓\nLogout      Fill Form\n↓           ↓\nClear       API Call\nToken           ↓\n↓       Save Token\nLogin           ↓\nScreen      Home Screen\n\n---\n\n## 🧩 How to Add a New Module\n\n**1. Create folders**\n```bash\nmkdir -p lib/app/modules/product/bindings\nmkdir -p lib/app/modules/product/controllers\nmkdir -p lib/app/modules/product/views\n```\n\n**2. Add route in `app_routes.dart`**\n```dart\nstatic const String product = '/product';\n```\n\n**3. Add page in `app_pages.dart`**\n```dart\nGetPage(\n  name: AppRoutes.product,\n  page: () =\u003e const ProductView(),\n  binding: ProductBinding(),\n),\n```\n\n**4. Follow same pattern as Auth module** ✅\n\n---\n\n## 🤝 Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the project\n2. Create your feature branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your changes (`git commit -m 'Add AmazingFeature'`)\n4. Push to the branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n---\n\n## 📄 License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n---\n\n## ⭐ Show Your Support\n\nIf this project helped you, please give it a **star** ⭐ on GitHub!\n\n---\n\n## 📬 Connect\n\nMade with ❤️ by [Sunny Singh](https://github.com/flutterbysunny)\n\n[![GitHub](https://img.shields.io/badge/GitHub-flutterbysunny-black?logo=github)](https://github.com/yourusername)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflutterbysunny%2Fflutter_getx_clean_starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflutterbysunny%2Fflutter_getx_clean_starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflutterbysunny%2Fflutter_getx_clean_starter/lists"}