A cross-platform mobile application to help users quickly find nearby public utilities like water fountains, bathrooms, charging stations, and other critical civic resources.
UrbanAid empowers people — travelers, low-income families, the homeless, athletes, parents, and everyday citizens — to find clean, safe, and accessible public resources with minimal friction. The app launches fast, works offline, and operates globally.
- App launches straight into the map screen
- 1-tap search and navigation
- Everything works in 3 taps or fewer
- React Native (iOS + Android)
- Google Maps SDK integration
- Offline-ready with local caching
- Light & dark mode support
- FastAPI with async/await
- REST API endpoints
- PostgreSQL database
- Docker containerization
- Google Maps SDK
- Apple CoreLocation
- Firebase Auth (optional)
- Geolocation services
/mobile-app/ # React Native application
/src/
/components/ # Reusable UI components
/screens/ # Screen components
/services/ # API and data services
/utils/ # Helper functions
/assets/ # Images, fonts, etc.
/hooks/ # Custom React hooks
App.tsx
main.ts
/api/ # FastAPI backend
/routes/ # API route handlers
/models/ # Database models
/controllers/ # Business logic
/services/ # External services
/schemas/ # Pydantic schemas
/utils/ # Backend utilities
main.py
requirements.txt
/docs/ # Documentation
/docker/ # Docker configuration
- Node.js 18+
- Python 3.11+
- React Native CLI
- Google Maps API key
- Docker (optional)
-
Clone the repository
git clone <repository-url> cd UrbanAid
-
Set up the mobile app
cd mobile-app npm install npx react-native run-ios # or run-android
-
Set up the backend
cd api pip install -r requirements.txt uvicorn main:app --reload
- Water fountains
- Public restrooms
- Benches
- Handwashing stations
- Cooling/Warming shelters
- Free food locations
- Public Wi-Fi
- Phone charging stations
- Transit stops
- Public libraries
- Community clinics
- Distance-based filtering
- Open now status
- Wheelchair accessibility
- Trust/verification scores
- Natural language search
- Add new utility locations
- Rate and review utilities
- Report issues or closures
- Photo uploads
- Cached location data
- Offline map tiles
- Sync when online
- No forced login required
- Location used only in foreground
- Open privacy policy
- Community moderation
Supported languages:
- English
- Spanish
- French
- Hindi
- Arabic
- iOS: 15.0+
- Android: API Level 23+ (Android 6.0)
See CONTRIBUTING.md for development guidelines.
MIT License - see LICENSE for details.
For support, please open an issue on GitHub or contact our team.