{"id":24131553,"url":"https://github.com/prish20/home-quest","last_synced_at":"2025-03-01T07:17:07.154Z","repository":{"id":271851756,"uuid":"914756685","full_name":"Prish20/Home-Quest","owner":"Prish20","description":"Home Quest is a feature-rich mobile application for exploring, filtering, and managing real estate properties.","archived":false,"fork":false,"pushed_at":"2025-01-11T17:16:25.000Z","size":6256,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T07:16:55.268Z","etag":null,"topics":["appwrite","expo","expo-router","react-native","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Prish20.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}},"created_at":"2025-01-10T08:45:23.000Z","updated_at":"2025-01-12T06:38:38.000Z","dependencies_parsed_at":"2025-01-11T18:38:44.754Z","dependency_job_id":null,"html_url":"https://github.com/Prish20/Home-Quest","commit_stats":null,"previous_names":["prish20/real-estate-app","prish20/home-quest"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prish20%2FHome-Quest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prish20%2FHome-Quest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prish20%2FHome-Quest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Prish20%2FHome-Quest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Prish20","download_url":"https://codeload.github.com/Prish20/Home-Quest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241329420,"owners_count":19944985,"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":["appwrite","expo","expo-router","react-native","typescript"],"created_at":"2025-01-11T21:18:00.385Z","updated_at":"2025-03-01T07:17:07.134Z","avatar_url":"https://github.com/Prish20.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Home Quest\n\n## Overview\n\nHome Quest is a feature-rich mobile application for exploring, filtering, and managing real estate properties. It is built using the Expo framework with React Native and integrates with Appwrite for backend services, providing a seamless experience for users to find their ideal homes.\n\n---\n\n## Features\n\n- **User Authentication**: Google OAuth2 login for secure authentication.\n- **Property Listings**: View featured, recommended, and all properties with rich details.\n- **Search and Filters**: Powerful search and filtering options to refine results.\n- **Dynamic Routing**: View property details using file-based routing.\n- **Agent and Review Details**: Comprehensive agent profiles and property reviews.\n- **Responsive Design**: Tailwind CSS and NativeWind integration for flexible styling.\n- **Global State Management**: Custom context provider for user and app state.\n\n---\n\n## Project Structure\n\n```\nReal-Estate-app/\n├── README.md\n├── app.json\n├── babel.config.js\n├── image.d.ts\n├── metro.config.js\n├── nativewind-env.d.ts\n├── package.json\n├── tailwind.config.js\n├── tsconfig.json\n├── app/\n│   ├── _layout.tsx\n│   ├── global.css\n│   ├── sign-in.tsx\n│   └── (root)/\n│       ├── _layout.tsx\n│       ├── (tabs)/\n│       │   ├── _layout.tsx\n│       │   ├── explore.tsx\n│       │   ├── index.tsx\n│       │   └── profile.tsx\n│       └── properties/\n│           └── [id].tsx\n├── assets/\n│   ├── fonts/\n│   ├── icons/\n│   └── images/\n├── components/\n├── constants/\n├── lib/\n└── scripts/\n```\n\n---\n\n## Installation\n\n### Prerequisites\n\n- Node.js (\u003e=16.0.0)\n- npm or yarn\n- Expo CLI\n\n### Steps\n\n1. Clone the repository:\n\n   ```bash\n   git clone https://github.com/Prish20/Real-Estate-app\n   cd Real-Estate-app\n   ```\n\n2. Install dependencies:\n\n   ```bash\n   npm install\n   ```\n\n3. Set up environment variables:\n\n   - Create a `.env` file in the root directory and configure the following variables:\n\n     ```env\n     EXPO_PUBLIC_APPWRITE_ENDPOINT=YOUR_APPWRITE_ENDPOINT\n     EXPO_PUBLIC_APPWRITE_PROJECT_ID=YOUR_PROJECT_ID\n     EXPO_PUBLIC_APPWRITE_DATABASE_ID=YOUR_DATABASE_ID\n     EXPO_PUBLIC_APPWRITE_PROPERTIES_COLLECTION_ID=YOUR_PROPERTIES_COLLECTION_ID\n     EXPO_PUBLIC_APPWRITE_GALLERIES_COLLECTION_ID=YOUR_GALLERIES_COLLECTION_ID\n     EXPO_PUBLIC_APPWRITE_REVIEWS_COLLECTION_ID=YOUR_REVIEWS_COLLECTION_ID\n     EXPO_PUBLIC_APPWRITE_AGENTS_COLLECTION_ID=YOUR_AGENTS_COLLECTION_ID\n     ```\n\n4. Start the app:\n\n   ```bash\n   npx expo start\n   ```\n\n---\n\n## Scripts\n\n| Command                 | Description                           |\n| ----------------------- | ------------------------------------- |\n| `npm start`             | Start the Expo development server.    |\n| `npm run android`       | Start the app on an Android emulator. |\n| `npm run ios`           | Start the app on an iOS simulator.    |\n| `npm run web`           | Start the app in a web browser.       |\n| `npm run reset-project` | Reset the app to a fresh state.       |\n| `npm test`              | Run all unit tests.                   |\n| `npm run lint`          | Lint the codebase.                    |\n\n---\n\n## Configuration\n\n### Tailwind CSS\n\nTailwind is configured in `tailwind.config.js`. The following customizations have been added:\n\n- Fonts: Rubik (Regular, Bold, Light, etc.)\n- Colors: Primary, Accent, Black, Danger, etc.\n\n### Appwrite Backend\n\nThe Appwrite backend provides services for authentication, data storage, and queries. Configure it in `lib/appwrite.ts`:\n\n```typescript\nclient.setEndpoint(process.env.EXPO_PUBLIC_APPWRITE_ENDPOINT!)\n      .setProject(process.env.EXPO_PUBLIC_APPWRITE_PROJECT_ID!);\n```\n\n---\n\n## Key Components\n\n### Components Directory (`/components`)\n\n- **Cards**: Displays property details.\n- **Filters**: Provides property filtering options.\n- **Search**: Search bar with debounce.\n- **Comments**: Shows user reviews on properties.\n- **NoResults**: Placeholder for empty search results.\n\n### Lib Directory (`/lib`)\n\n- **`appwrite.ts`**: Configures and manages Appwrite services.\n- **`global-provider.tsx`**: Manages global state.\n- **`useAppwrite.ts`**: Custom hook for querying Appwrite.\n- **`seed.ts`**: Data seeding script for development.\n\n### Constants Directory (`/constants`)\n\n- **Icons**: Centralized icons.\n- **Images**: Static image references.\n- **Data**: Mock data for development.\n\n---\n\n## Contributing\n\nContributions are welcome! Please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch: `git checkout -b feature-name`.\n3. Commit your changes: `git commit -m \"Add feature\"`.\n4. Push to the branch: `git push origin feature-name`.\n5. Open a pull request.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.\n\n---\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprish20%2Fhome-quest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprish20%2Fhome-quest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprish20%2Fhome-quest/lists"}