A React Native mobile application for finding nearby lavatory services including bathrooms, water fountains, hand sanitizer dispensers, and sinks. Features GPS integration, ratings, reviews, and minimal contact design.
- GPS Integration: Find services near your current location
- Service Types: Bathrooms, water fountains, hand sanitizer, sinks
- Ratings & Reviews: User-generated content with photos
- Voice Control: Hands-free operation for hygiene
- Minimal Contact: Touch-minimal design
- Contextual Ads: Non-intrusive advertising placements
- No Account Required: Device-based tracking prevents duplicate reviews
- Frontend: React Native with TypeScript
- Navigation: React Navigation (Stack + Bottom Tabs)
- Maps: React Native Maps
- Location: React Native Geolocation Service
- Voice: React Native Voice
- Storage: AsyncStorage + Device Info
- AWS Integration: API Gateway, Lambda, DynamoDB, S3
src/
โโโ components/ # Reusable UI components
โโโ config/
โ โโโ aws.ts # AWS configuration
โโโ context/ # React Context providers
โโโ screens/ # App screens
โโโ services/
โ โโโ api.ts # API service layer
โโโ types/
โ โโโ Service.ts # TypeScript type definitions
โโโ utils/
โโโ device.ts # Device ID utilities
- Node.js 18+
- React Native CLI
- Xcode (for iOS)
- Android Studio (for Android)
- AWS Account (for backend)
-
Install dependencies:
npm install
-
iOS Setup:
cd ios pod install cd ..
-
Run the app:
# iOS npm run ios # Android npm run android # Start Metro bundler npm start
This app is designed to work with AWS services. See the comprehensive integration guide:
- Complete Guide: AWS_INTEGRATION_GUIDE.md
- Amazon API Gateway - REST API endpoints
- AWS Lambda - Serverless functions
- Amazon DynamoDB - NoSQL database
- Amazon S3 - Image storage
- Monthly Cost: ~$4 (depending on usage)
- Free Tier: Most services have generous free tiers
- Current location display
- Nearby services list
- Quick access buttons
- Voice control integration
- Interactive GPS map
- Service markers with types
- Distance indicators
- Filter options
- Text-based search
- Category filters
- Advanced filters (amenities, rating)
- Search history
- Complete service information
- Photo gallery
- Reviews and ratings
- Add review functionality
- Directions integration
- App settings
- Review history
- Preferences
- About information
- Large touch targets
- Voice control options
- Gesture-based navigation
- Minimal typing required
- Touch-minimal interactions
- Voice commands
- Quick access patterns
- Sanitization reminders
- High contrast colors
- Large fonts
- Voice control
- Screen reader support
- Location: Only when app is active
- Reviews: Anonymous device-based tracking
- Images: Optional user uploads
- No Personal Data: No accounts required
- Unique device IDs prevent duplicate reviews
- Anonymous usernames (User_1234)
- Local storage for preferences
- No cross-device tracking
- Location Services: Test GPS accuracy
- Voice Control: Test voice commands
- Offline Mode: Test without internet
- Device Rotation: Test landscape mode
- Deep Links: Test navigation
# Run unit tests
npm test
# Run integration tests
npm run test:integration
# Run E2E tests
npm run test:e2e# Build for App Store
npm run build:ios:release
# Archive in Xcode
# Product โ Archive โ Distribute App# Build APK
npm run build:android:release
# Build AAB for Play Store
npm run build:android:bundle- iOS: Apple App Store
- Android: Google Play Store
- Deploy Lambda functions
- Configure API Gateway
- Set up DynamoDB tables
- Configure S3 buckets
- Update app configuration
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Metro bundler issues:
npx react-native start --reset-cache - iOS build issues: Clean build folder in Xcode
- Android build issues:
cd android && ./gradlew clean - AWS connection issues: Check credentials and region
- Check the AWS Integration Guide
- Open an issue on GitHub
- Contact the development team
- Offline mode with sync
- Push notifications
- Social sharing
- Multi-language support
- Accessibility improvements
- Analytics dashboard
- Admin panel
- Machine learning recommendations
- Performance optimization
- Code splitting
- Advanced caching
- Error boundaries
- Automated testing
- CI/CD pipeline
- Monitoring and logging
- Security enhancements
Built with โค๏ธ for public hygiene and accessibility