{"id":30809430,"url":"https://github.com/mhurhangee/expo-glue","last_synced_at":"2026-05-06T00:35:35.384Z","repository":{"id":312481203,"uuid":"1047458372","full_name":"mhurhangee/expo-glue","owner":"mhurhangee","description":"A modern React Native demo app showcasing cross-platform mobile development with Expo, Gluestack UI v3, and contemporary tooling.","archived":false,"fork":false,"pushed_at":"2025-08-31T18:39:51.000Z","size":947,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-31T20:38:34.268Z","etag":null,"topics":["expo","gluestack-ui-v3","react-native"],"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/mhurhangee.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-30T13:17:53.000Z","updated_at":"2025-08-31T18:41:00.000Z","dependencies_parsed_at":"2025-08-31T20:38:34.802Z","dependency_job_id":null,"html_url":"https://github.com/mhurhangee/expo-glue","commit_stats":null,"previous_names":["mhurhangee/expo-ai-glue","mhurhangee/expo-glue"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/mhurhangee/expo-glue","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhurhangee%2Fexpo-glue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhurhangee%2Fexpo-glue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhurhangee%2Fexpo-glue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhurhangee%2Fexpo-glue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mhurhangee","download_url":"https://codeload.github.com/mhurhangee/expo-glue/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mhurhangee%2Fexpo-glue/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281059632,"owners_count":26437061,"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-10-26T02:00:06.575Z","response_time":61,"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":["expo","gluestack-ui-v3","react-native"],"created_at":"2025-09-06T04:09:08.576Z","updated_at":"2025-10-26T05:08:10.547Z","avatar_url":"https://github.com/mhurhangee.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Expo Glue\n\nA modern React Native demo app showcasing cross-platform mobile development with Expo, Gluestack UI v3, and contemporary tooling.\n\n## Screenshots\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"public/dark-mode-home.PNG\" width=\"300\" alt=\"Dark Mode Home\" /\u003e\n  \u003cimg src=\"public/light-mode-settings.PNG\" width=\"300\" alt=\"Light Mode Settings\" /\u003e\n\u003c/div\u003e\n\n*Light mode settings screen and dark mode home screen showcasing the adaptive theme system\n\n## Tech Stack\n\n- **[Expo](https://expo.dev)** - React Native framework with Expo Router for file-based navigation\n- **[Gluestack UI v3](https://gluestack.io/)** - Modern *shadcn-like* component library with copy-paste architecture\n- **[NativeWind](https://www.nativewind.dev/)** - Tailwind CSS for React Native\n- **[TypeScript](https://www.typescriptlang.org/)** - Type safety and enhanced developer experience\n\n## Features\n\n### Core Functionality\n- **Dark/Light Mode** - System-aware theme switching with persistent preferences\n- **Tab Navigation** - Bottom tab interface with custom menu interactions\n- **FAQ Section** - Collapsible content sections with smooth animations\n- **Responsive Design** - Optimized layouts for various screen sizes\n\n### Developer Experience\n- **Modular Architecture** - Reusable components with clear separation of concerns\n- **Custom Hooks** - Theme management and font loading abstractions\n- **Icon System** - Theme-aware FontAwesome integration with consistent variants\n- **Type Safety** - Full TypeScript coverage with proper component typing\n\n### UI/UX\n- **Google Fonts Integration** - Professional typography with multiple font families\n- **Tailwind Styling** - Utility-first CSS with NativeWind compilation\n- **Smooth Animations** - CSS transitions and transform animations\n- **Accessible Components** - ARIA compliance and keyboard navigation support\n\n## Project Structure\n\n```\napp/\n├── (tabs)/                 # Tab navigator screens\n│   ├── _layout.tsx         # Tab configuration\n│   ├── index.tsx           # Home/Dashboard\n│   ├── explore.tsx         # Discovery features\n│   ├── profile.tsx         # User profile\n│   ├── settings.tsx        # App preferences\n│   └── more.tsx            # Additional options\n├── _layout.tsx             # Root layout with providers\n├── index.tsx               # Welcome splash screen\n└── learn-more.tsx          # FAQ and documentation\n\ncomponents/\n├── ui/                     # Gluestack UI components\n├── icon.tsx                # Custom icon wrapper\n├── theme-toggle.tsx        # Dark mode toggle\n└── back-button.tsx         # Navigation helper\n\nhooks/\n├── use-theme.ts            # Theme state management\n└── use-custom-fonts.ts     # Font loading logic\n```\n\n## Getting Started\n\n### Prerequisites\n- Node.js 18+ \n- Expo CLI\n- iOS Simulator or Android Emulator (optional)\n\n### Tested Platforms\n- **iOS** - Fully tested and optimized\n- **Android** - Compatible via Expo Go\n- **Web** - Basic compatibility for development\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/mhurhangee/expo-glue.git\ncd expo-glue\n\n# Install dependencies\nnpm install\n\n# Start development server\nnpx expo start\n```\n\n### Development Options\n- See Expo's guide for how to set up development environment - https://docs.expo.dev/get-started/set-up-your-environment - for options such as on device, emulator/simulaor, and Expo Go.\n\n## Key Implementation Details\n\n### Theme System\nThe app uses a context-based theme system that automatically adapts components to light/dark modes:\n\n```tsx\nconst { isDarkMode, toggleDarkMode } = useTheme();\n```\n\n### Component Architecture\nComponents follow Gluestack v3 patterns with Tailwind styling:\n\n```tsx\n\u003cButton variant=\"solid\" action=\"primary\"\u003e\n  \u003cIcon name=\"rocket\" size={16} variant=\"inverse\" /\u003e\n  \u003cButtonText\u003eGet Started\u003c/ButtonText\u003e\n\u003c/Button\u003e\n```\n\n### Font Loading\nCustom Google Fonts are loaded via Expo Font with proper fallbacks:\n\n```tsx\nconst [loaded] = useFonts({\n  Inter_400Regular,\n  SpaceGrotesk_600SemiBold,\n  SpaceMono_400Regular,\n});\n```\n\n## Customization\n\n### Adding New Tabs\nCreate a new file in `app/tabs/` and add the screen configuration to `_layout.tsx`.\n\n### Theme Colors\nModify `tailwind.config.js` and the theme context to adjust the color palette.\n\n### Components\nAdd new Gluestack UI components with:\n```bash\nnpx gluestack-ui add [component-name]\n```\n\n## Contributing\n\nThis project demonstrates modern React Native patterns and welcomes contributions that showcase additional best practices or improvements to the developer experience.\n\n## License\n\nMIT License - see LICENSE file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhurhangee%2Fexpo-glue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmhurhangee%2Fexpo-glue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmhurhangee%2Fexpo-glue/lists"}