A modern real estate mobile application built with React Native, Expo, and Appwrite. This app allows users to browse properties, view detailed listings, and manage their real estate preferences.
- Authentication: Google OAuth integration with Appwrite
- Property Listings: Browse through various types of properties
- Search & Filters: Search properties and filter by type
- Property Details: View detailed information about properties including:
- Images and galleries
- Amenities and facilities
- Location information
- Reviews and ratings
- User Profiles: Manage user profiles with customizable avatars
- Responsive Design: Built with NativeWind (Tailwind CSS for React Native)
- Type Safety: Written in TypeScript for better development experience
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI
- Appwrite instance
Create a .env file in the root directory with the following variables:
EXPO_PUBLIC_APPWRITE_ENDPOINT=your_appwrite_endpoint
EXPO_PUBLIC_APPWRITE_PROJECT_ID=your_project_id
EXPO_PUBLIC_DATABASE_ID=your_database_id
EXPO_PUBLIC_APPWRITE_AGENTS_COLLECTION_ID=your_agents_collection_id
EXPO_PUBLIC_APPWRITE_GALLERIES_COLLECTION_ID=your_galleries_collection_id
EXPO_PUBLIC_APPWRITE_PROPERTIES_COLLECTION_ID=your_properties_collection_id
EXPO_PUBLIC_APPWRITE_REVIEWS_COLLECTION_ID=your_reviews_collection_id
EXPO_PUBLIC_APPWRITE_AVATARS_BUCKET_ID=your_avatars_bucket_id
- Clone the repository
git clone https://github.com/shahinheidary/StateNative.git- Install dependencies
npm install- Start the app
npx expo start- For iOS: Press
iin the terminal or runnpm run ios - For Android: Press
ain the terminal or runnpm run android - For web: Press
win the terminal or runnpm run web
├── app/ # Main application code
│ ├── (root)/ # Protected routes
│ ├── layout.tsx # Root layout component
│ └── sign-in.tsx # Authentication screen
├── components/ # Reusable components
├── constants/ # App constants and assets
├── lib/ # Utility functions and hooks
└── assets/ # Static assets
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details
- Expo for the amazing development platform
- Appwrite for the backend services
- NativeWind for the styling solution
Project Link: https://github.com/shahinheidary/StateNative


