{"id":29052827,"url":"https://github.com/michaelpiper/real_estate_app_ui","last_synced_at":"2025-06-27T00:38:34.375Z","repository":{"id":288274061,"uuid":"967421359","full_name":"michaelpiper/real_estate_app_ui","owner":"michaelpiper","description":"This Flutter project is a pixel-perfect implementation of the Real Estate App UI","archived":false,"fork":false,"pushed_at":"2025-04-16T16:23:13.000Z","size":2776,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-16T19:50:26.804Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/michaelpiper.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-04-16T12:35:32.000Z","updated_at":"2025-04-16T16:23:17.000Z","dependencies_parsed_at":"2025-04-16T20:01:31.944Z","dependency_job_id":"c9290c12-ecda-4ad8-961b-4c10639b81a7","html_url":"https://github.com/michaelpiper/real_estate_app_ui","commit_stats":null,"previous_names":["michaelpiper/real_estate_app_ui"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/michaelpiper/real_estate_app_ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelpiper%2Freal_estate_app_ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelpiper%2Freal_estate_app_ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelpiper%2Freal_estate_app_ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelpiper%2Freal_estate_app_ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/michaelpiper","download_url":"https://codeload.github.com/michaelpiper/real_estate_app_ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/michaelpiper%2Freal_estate_app_ui/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262166552,"owners_count":23269075,"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","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-06-27T00:38:32.659Z","updated_at":"2025-06-27T00:38:34.356Z","avatar_url":"https://github.com/michaelpiper.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏡 Real Estate App UI (Dribbble Inspired)\n\nThis Flutter project is a pixel-perfect implementation of the [Real Estate App UI](https://dribbble.com/shots/23780608-Real-Estate-App) by **Kristina Spiridonova for Purrweb UI/UX Agency** on Dribbble. It faithfully recreates the sleek design, integrates real-world functionality, and adheres to clean architecture principles using `BLoC`.\n---\n\n## 🎥 Demo\n\nhttps://drive.google.com/file/d/1FJtCs0hM4Pv1475UUCruvB9yyH3uJ7Zq/view?usp=sharing\n\n## 🎥 APK\nhttps://drive.google.com/file/d/1pFQNn3m5CBpn8g4-hcp7VobyyXetrQv0/view?usp=sharing\n---\n\n## ✨ Features \u0026 Achievements\n\n### 🎯 Pixel-Perfect Implementation\n- Downloaded and applied the **exact font** used in the original design.\n- Used a **keen eye for detail** to match layouts, spacing, and colors.\n- Carefully replicated **box shadows** using `BlurStyle.outer` for an authentic feel.\n\n### 🧠 State Management with BLoC\n- Implemented `flutter_bloc` to separate UI from business logic for scalability and maintainability.\n\n### 📱 UI \u0026 UX Improvements\n- Fixed major scroll/layout issues using a custom `SwipeDetector` to deliver a **seamless scroll experience** on the `HomePage`.\n\n### 🗺️ Real Integration\n- Integrated **Google Maps** to simulate real property locations and interactions.\n\n### ⚡ Performance Optimization\n- Used `precacheImage` for **network image caching**, enhancing smoothness and speed in image rendering.\n\n---\n\n## 📸 UI Preview\n\n\u003e Check out the original inspiration: [Dribbble Shot](https://dribbble.com/shots/23780608-Real-Estate-App)\n\nhttps://drive.google.com/file/d/1FJtCs0hM4Pv1475UUCruvB9yyH3uJ7Zq/view?usp=sharing\n---\n\n## 🛠️ Tech Stack\n\n- **Flutter** with **Dart**\n- **flutter_bloc** for state management\n- **Google Maps API**\n- **Custom Gestures \u0026 Swipe Detection**\n- **Image Caching**\n\n---\n\n## 🚀 Getting Started\n\n```bash\ngit clone https://github.com/michaelpiper/real_estate_app_ui.git\n# GOOGLE_API_KEY for map support\n# replace {{GOOGLE_API_KEY}} in real_estate_app_ui/ios/Runner/AppDelegate.swift\n# replace {{GOOGLE_API_KEY}} in real_estate_app_ui/android/app/src/main/AndroidManifest.xml\n\n# replace {{GOOGLE_API_KEY}} in real_estate_app_ui/lib/constants.dart\ncd real_estate_app_ui\nflutter pub get\n\nflutter run\n```\n\n---\n\n## 📌 TODO\n\n- [ ] Add backend integration for property listings\n- [ ] Implement search \u0026 filtering\n- [ ] Add dark mode\n\n---\n\n## 🙌 Credits\n\n- UI Design by [Kristina Spiridonova for Purrweb UI/UX Agency](https://dribbble.com/purrwebui)\n- Developed by **Michael Piper**\n\n---\n\nLet me know if you want it tailored for GitHub with badges or deployment instructions.\n\n## Code Structure\n```txt\nlib/\n├── core/ \n│   ├── constants/          # App constants, enums\n│   ├── errors/            # Custom exceptions and failures\n│   ├── network/           # Dio/HTTP client setup, interceptors\n│   ├── routes/            # App routing configuration\n│   ├── theme/             # App theme data\n│   ├── usecases/          # Base use case class\n│   └── utils/             # Extensions, helpers, validators\n│\n├── features/\n│   ├── property/          # Already created\n│   │\n│   ├── authentication/    # Auth feature\n│   │   ├── data/\n│   │   │   ├── datasources/ # AuthRemoteDataSource\n│   │   │   ├── models/     # UserModel, TokenModel\n│   │   │   └── repositories/\n│   │   ├── domain/\n│   │   │   ├── entities/   # UserEntity\n│   │   │   ├── repositories/ # AuthRepository\n│   │   │   └── usecases/    # Login, Register, Logout, etc.\n│   │   └── presentation/\n│   │       ├── bloc/       # AuthBloc, AuthEvents, AuthStates\n│   │       ├── pages/      # LoginPage, RegisterPage\n│   │       └── widgets/    # AuthForm, SocialLoginButtons\n│   │\n│   ├── profile/           # User profile management\n│   │   ├── data/          # ProfileDataSource\n│   │   ├── domain/        # ProfileEntity, UpdateProfile\n│   │   └── presentation/  # ProfileBloc, ProfilePage\n│   │\n│   ├── favorites/         # Saved properties\n│   │   ├── data/          # FavoritesDataSource\n│   │   ├── domain/        # FavoritesRepository\n│   │   └── presentation/  # FavoritesBloc, FavoritesPage\n│   │\n│   ├── search/           # Property search\n│   │   ├── data/          # SearchDataSource\n│   │   ├── domain/       # SearchFilters entity\n│   │   └── presentation/  # SearchBloc, FilterWidgets\n│   │\n│   ├── notifications/     # Push notifications\n│   │   ├── data/          # NotificationsDataSource\n│   │   ├── domain/        # NotificationEntity\n│   │   └── presentation/ # NotificationsBloc\n│   │\n│   ├── messaging/         # Chat with agents\n│   │   ├── data/          # ChatDataSource\n│   │   ├── domain/        # MessageEntity\n│   │   └── presentation/  # ChatBloc, ChatUI\n│   │\n│   └── map/              # Property map view\n│       ├── data/          # MapDataSource\n│       ├── domain/        # MapMarkerEntity\n│       └── presentation/ # MapBloc, CustomMap\n│\n├── injection.dart        # Dependency injection setup\n└── main.dart             # App entry point\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelpiper%2Freal_estate_app_ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmichaelpiper%2Freal_estate_app_ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmichaelpiper%2Freal_estate_app_ui/lists"}