{"id":25339964,"url":"https://github.com/echowaves/wisaw","last_synced_at":"2025-06-29T05:35:18.617Z","repository":{"id":39878294,"uuid":"138102285","full_name":"echowaves/WiSaw","owner":"echowaves","description":"Incognito photos and short videos, anonymous posting.","archived":false,"fork":false,"pushed_at":"2024-07-13T20:16:11.000Z","size":76766,"stargazers_count":27,"open_issues_count":1,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-07-14T01:32:45.699Z","etag":null,"topics":["expo","graphql","photo-sharing","react-native","social-media"],"latest_commit_sha":null,"homepage":"https://www.wisaw.com","language":"JavaScript","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/echowaves.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":"2018-06-21T01:05:03.000Z","updated_at":"2024-07-13T20:15:54.000Z","dependencies_parsed_at":"2024-01-31T17:10:36.965Z","dependency_job_id":"d19756d6-912e-49dc-bc2c-4f115f567ccb","html_url":"https://github.com/echowaves/WiSaw","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/echowaves%2FWiSaw","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/echowaves%2FWiSaw/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/echowaves%2FWiSaw/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/echowaves%2FWiSaw/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/echowaves","download_url":"https://codeload.github.com/echowaves/WiSaw/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238805879,"owners_count":19533618,"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":["expo","graphql","photo-sharing","react-native","social-media"],"created_at":"2025-02-14T07:51:13.877Z","updated_at":"2025-06-29T05:35:18.610Z","avatar_url":"https://github.com/echowaves.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WiSaw - \"What I Saw Today\"\n\n\u003cdiv align=\"center\"\u003e\n\n[![Version](https://img.shields.io/badge/version-7.2.5-blue.svg)](https://github.com/echowaves/WiSaw)\n[![Platform](https://img.shields.io/badge/platform-iOS%20%7C%20Android%20%7C%20Web-lightgrey.svg)](https://expo.dev)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)\n[![React Native](https://img.shields.io/badge/React%20Native-0.79.4-blue.svg)](https://reactnative.dev)\n[![Expo](https://img.shields.io/badge/Expo-53.0.12-000020.svg)](https://expo.dev)\n\n**Minimalistic social sharing • Incognito pics • Anonymous posting**\n\n\u003c/div\u003e\n\n## 🌟 Overview\n\nWiSaw is a location-based, anonymous social sharing app that lets you capture and share moments without the complexity of traditional social media. No registration, no profiles, no followers - just pure, location-relevant content sharing.\n\n### ✨ Key Features\n\n- **🚫 No Registration Required** - Open the app and start sharing immediately\n- **📍 Location-Based Feed** - See what's happening around you right now\n- **🎭 Anonymous Sharing** - Share without revealing your identity\n- **🗑️ Community Moderation** - Delete inappropriate content to improve quality for everyone\n- **🤖 AI Image Recognition** - Automatic content descriptions using AI\n- **💬 Real-time Comments** - Engage with posts through anonymous comments\n- **🔗 Deep Linking** - Share specific photos and friend invitations\n- **📱 Cross-Platform** - Available on iOS, Android, and Web\n\n## 📱 Download\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"http://itunes.apple.com/us/app/wisaw/id1299949122\"\u003e\n    \u003cimg src=\"https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83\" alt=\"Download on the App Store\" width=\"200\"\u003e\n\u003c/a\u003e\n\u003cbr/\u003e\n\u003ca href=\"http://play.google.com/store/apps/details?id=com.echowaves.wisaw\"\u003e\n    \u003cimg src=\"https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png\" alt=\"Get it on Google Play\" width=\"230\"\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n**🌐 Web Version:** [wisaw.com](https://www.wisaw.com)\n\n## 🛠️ Tech Stack\n\n### Frontend\n\n- **React Native** (0.79.4) - Cross-platform mobile development\n- **Expo** (53.0.12) - Development platform and build system\n- **Expo Router** (5.1.0) - File-based routing system\n- **TypeScript** - Type-safe development\n- **Jotai** (2.8.4) - State management\n\n### Backend Integration\n\n- **Apollo Client** (3.9.7) - GraphQL client with caching\n- **GraphQL** (16.8.1) - API query language\n- **WebSocket Subscriptions** - Real-time updates\n\n### UI/UX\n\n- **React Native Elements** - UI component library\n- **React Navigation** - Navigation system\n- **Expo Image** - Optimized image handling\n- **React Native Reanimated** - Smooth animations\n\n### Device Features\n\n- **Camera \u0026 Photo Library** - Image capture and storage\n- **Location Services** - GPS-based content filtering\n- **Push Notifications** - Real-time alerts\n- **Deep Linking** - Share content and friend invitations\n\n## 🏗️ Architecture\n\n### Project Structure\n\n```\nWiSaw/\n├── app/                    # Expo Router app directory\n│   ├── (drawer)/          # Drawer navigation layout\n│   │   ├── (tabs)/        # Bottom tabs navigation\n│   │   │   ├── index.tsx  # Main feed screen\n│   │   │   ├── chat.tsx   # Chat/messaging screen\n│   │   │   └── photos/    # Photo-related screens\n│   │   ├── friends.tsx    # Friends management\n│   │   └── feedback.tsx   # User feedback\n│   └── _layout.tsx        # Root layout\n├── src/                   # Source code\n│   ├── components/        # Reusable components\n│   ├── screens/           # Screen components (legacy)\n│   ├── utils/             # Utility functions\n│   ├── hooks/             # Custom React hooks\n│   └── state.js           # Global state management\n├── assets/                # Images, icons, splash screens\n├── docs/                  # Documentation and guides\n└── public/                # Static web assets\n```\n\n### Key Features Implementation\n\n#### 🔧 Navigation System\n\n- **Expo Router** with file-based routing\n- **Drawer Navigation** for main app sections\n- **Tab Navigation** for primary features\n- **Modal Navigation** for overlays and forms\n\n#### 🎨 UI/UX Enhancements\n\n- **Status Bar Handling** - Platform-specific status bar management\n- **Safe Area Support** - Proper handling of device safe areas\n- **Responsive Design** - Adapts to different screen sizes\n- **Loading States** - User feedback during operations\n\n#### 🔄 State Management\n\n- **Jotai** for lightweight state management\n- **Apollo Client Cache** for GraphQL data\n- **Local Storage** for offline data persistence\n\n#### 🔐 Privacy \u0026 Security\n\n- **Anonymous Posting** - No user identification required\n- **Location Privacy** - Approximate location sharing only\n- **Content Moderation** - Community-driven content filtering\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Node.js (18+)\n- npm or yarn\n- Expo CLI\n- iOS Simulator (for iOS development)\n- Android Studio/Emulator (for Android development)\n\n### Installation\n\n1. **Clone the repository**\n\n   ```bash\n   git clone https://github.com/echowaves/WiSaw.git\n   cd WiSaw\n   ```\n\n2. **Install dependencies**\n\n   ```bash\n   npm install\n   ```\n\n3. **Set up environment variables**\n\n   ```bash\n   # Create .env file with your API endpoints\n   API_URI=your_graphql_endpoint\n   REALTIME_API_URI=your_websocket_endpoint\n   API_KEY=your_api_key\n   PRIVATE_IMG_HOST=your_image_host\n   ```\n\n4. **Start the development server**\n   ```bash\n   npm start\n   ```\n\n### Development Scripts\n\n```bash\n# Start Expo development server\nnpm start\n\n# Run on iOS simulator\nnpm run ios\n\n# Run on Android emulator\nnpm run android\n\n# Build for production\nnpm run build\n\n# Deploy to production\nnpm run publish:prod\n\n# Clear cache and reset\nnpm run clear\nnpm run reset:simulator\n```\n\n## 📋 Version Management\n\nThe app uses a centralized version management system:\n\n- **Version:** Defined in `package.json` and imported to `app.config.js`\n- **Build Numbers:** Automatically synced across iOS and Android\n- **Single Source of Truth:** All version info in `package.json`\n\nTo update the app version:\n\n1. Update `version`, `buildNumber`, and `versionCode` in `package.json`\n2. Changes automatically propagate throughout the app\n\n## 🔧 Configuration\n\n### App Configuration\n\nThe app uses `app.config.js` for Expo configuration:\n\n- Platform-specific settings\n- Deep linking configuration\n- Push notification setup\n- Build properties\n\n### Environment Setup\n\n- Development: Uses Expo development server\n- Production: Built with EAS (Expo Application Services)\n- Web: Deployed as PWA\n\n## 📖 Documentation\n\n### Developer Guides\n\n- [Deep Linking Implementation](docs/deep-linking-sharing-implementation.md)\n- [Friends System](docs/friends-sharing-ux-improvements.md)\n- [Navigation Architecture](docs/NAVIGATION_FIX_SUMMARY.md)\n- [Version Management](docs/VERSION_CENTRALIZATION_SUMMARY.md)\n\n### Feature Documentation\n\n- [Comment System](docs/COMMENT_SEND_BUTTON_IMPLEMENTATION.md)\n- [Feedback Screen](docs/FEEDBACK_SCREEN_FIX.md)\n- [UI/UX Improvements](docs/name-picker-ux-improvements.md)\n\n## 🤝 Contributing\n\n1. Fork the repository\n2. Create a feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n### Development Guidelines\n\n- Follow TypeScript best practices\n- Use Expo Router for navigation\n- Implement proper error handling\n- Add documentation for new features\n- Test on both iOS and Android\n\n## 📞 Support\n\n- **Website:** [echowaves.com](https://www.echowaves.com)\n- **App Store:** [WiSaw on iOS](http://itunes.apple.com/us/app/wisaw/id1299949122)\n- **Google Play:** [WiSaw on Android](http://play.google.com/store/apps/details?id=com.echowaves.wisaw)\n- **GitHub:** [Issues \u0026 Bug Reports](https://github.com/echowaves/WiSaw/issues)\n\n## 📄 License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\n- Built with [Expo](https://expo.dev) and [React Native](https://reactnative.dev)\n- UI components from [React Native Elements](https://reactnativeelements.com)\n- State management with [Jotai](https://jotai.org)\n- GraphQL integration via [Apollo Client](https://www.apollographql.com/docs/react/)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Made with ❤️ by [Echowaves Corp.](https://www.echowaves.com)**\n\n_Experience authentic, location-based social sharing_\n\n\u003c/div\u003e\n\n## 📱 Screenshots\n\n### Main Feed\n\n\u003cimg alt=\"Main feed showing nearby photos\" src=\"https://static.wixstatic.com/media/c90e7e_919f2c5816824c37b755fc3e3d8c75d0~mv2.png\" height=\"400\" width=\"200\"\u003e\n\n### Photo Search\n\n\u003cimg alt=\"Search and browse photos by relevance\" src=\"https://static.wixstatic.com/media/c90e7e_e323af6b90234511bb3a0144b9156707~mv2.png\" height=\"400\" width=\"200\"\u003e\n\n### Photo Details\n\n\u003cimg alt=\"Detailed photo view with AI descriptions\" src=\"https://static.wixstatic.com/media/c90e7e_e762c27c4bae4d4599d621d092eeaeff~mv2.png\" height=\"400\" width=\"200\"\u003e\n\n### AI Recognition\n\n\u003cimg alt=\"AI-powered image recognition and tagging\" src=\"https://static.wixstatic.com/media/c90e7e_33b0dce4a0704c119065b2fbf64589cc~mv2.png\" height=\"400\" width=\"200\"\u003e\n\n### Comments\n\n\u003cimg alt=\"Anonymous commenting system\" src=\"https://static.wixstatic.com/media/c90e7e_258c95637d9644f8805f5c283423e6f3~mv2.png\" height=\"400\" width=\"200\"\u003e\n\n### Navigation Menu\n\n\u003cimg alt=\"App navigation and features\" src=\"https://static.wixstatic.com/media/c90e7e_7f845f0d82c84276a3006698d9c5df00~mv2.png\" height=\"400\" width=\"200\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fechowaves%2Fwisaw","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fechowaves%2Fwisaw","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fechowaves%2Fwisaw/lists"}