A multilingual mobile application for reporting and tracking civic issues in Jharkhand, India
Samadhan is a citizen-first mobile application developed for the Government of Jharkhand to enable citizens to report civic issues and track their resolution status. The app supports three languages: English, Hindi, and Nagpuri (Sadri), making it accessible to the diverse population of Jharkhand.
- 3 Languages: English, Hindi (ΰ€Ήΰ€Ώΰ€¨ΰ₯ΰ€¦ΰ₯), and Nagpuri (ΰ€¨ΰ€Ύΰ€ΰ€ͺΰ₯ΰ€°ΰ₯ ΰ€Έΰ€¦ΰ€°ΰ₯)
- Real-time Language Switching: Change language instantly from any screen
- Persistent Language Selection: User's language preference is saved and restored
- Native Script Display: Proper rendering of Devanagari and Nagpuri scripts
- Fallback System: Graceful handling of missing translations
- Issue Reporting: Take photos and report civic issues instantly
- Issue Tracking: Monitor the status of submitted reports
- Community Feed: View issues reported by other citizens
- Status Updates: Real-time notifications for issue status changes
- User Authentication: Secure login/signup with Aadhaar verification
- Government Integration: Official Government of Jharkhand branding and security
- Modern UI/UX: Clean, government-appropriate design
- Dark/Light Theme: Automatic theme switching based on system preferences
- Responsive Design: Optimized for various screen sizes
- Smooth Animations: Engaging transitions and micro-interactions
- Accessibility: Support for screen readers and accessibility features
- React Native 0.81.4: Cross-platform mobile development
- Expo 54.0.6: Development platform and build tools
- TypeScript 5.9.2: Type-safe JavaScript development
- Expo Router 6.0.3: File-based routing system
- React Navigation 7.1.6: Navigation library for React Native
- react-i18next 15.7.3: React integration for i18next
- i18next 25.5.2: Internationalization framework
- AsyncStorage: Persistent language storage
- NativeWind 4.1.23: Tailwind CSS for React Native
- Expo Vector Icons 15.0.2: Icon library
- React Native Reanimated 4.1.0: Advanced animations
- React Context API: Global state management
- Custom Hooks: Reusable state logic
SIH-Team-Overclock/
βββ app/ # App screens and routing
β βββ (tabs)/ # Tab navigation screens
β β βββ index.tsx # Home screen
β β βββ camera.tsx # Camera for issue reporting
β β βββ profile.tsx # User profile
β βββ _layout.tsx # Root layout with providers
β βββ login.tsx # Login screen
β βββ signup.tsx # Signup screen
β βββ landing.tsx # Landing/welcome screen
β βββ splash.tsx # Splash screen
β βββ ... # Other screens
βββ components/ # Reusable UI components
β βββ LanguageSelector.tsx # Language selection dropdown
β βββ ThemedText.tsx # Themed text component
β βββ ThemedView.tsx # Themed view component
β βββ ... # Other components
βββ contexts/ # React contexts
β βββ LanguageContext.tsx # Language management context
βββ hooks/ # Custom React hooks
β βββ useTranslation.ts # Translation hook
β βββ useThemeColor.ts # Theme color hook
β βββ useColorScheme.ts # Color scheme hook
βββ i18n/ # Internationalization
β βββ index.ts # i18n configuration
β βββ locales/ # Translation files
β βββ en.json # English translations
β βββ hi.json # Hindi translations
β βββ nagpuri.json # Nagpuri translations
βββ constants/ # App constants
β βββ Colors.ts # Color definitions
β βββ CivicIssues.ts # Issue type definitions
βββ assets/ # Static assets
β βββ images/ # Images and logos
β βββ fonts/ # Custom fonts
βββ ... # Configuration files
- Complete English translations for all UI elements
- Standard English terminology for government services
- Clear, professional language suitable for official use
- Full Hindi translations using Devanagari script
- Culturally appropriate terminology
- Government-appropriate formal language
- Complete Nagpuri (Sadri) translations
- Local language support for Jharkhand residents
- Preserves regional linguistic identity
- Node.js (v16 or higher)
- npm or yarn
- Expo CLI
- Android Studio (for Android development)
- Xcode (for iOS development, macOS only)
-
Clone the repository bash git clone cd SIH-Team-Overclock
-
Install dependencies bash npm install
yarn install
-
Start the development server bash npm start
yarn start
-
Run on device/simulator bash
npm run android
npm run ios
npm run web
- Animated app logo and branding
- Multilingual welcome messages
- Feature highlights in selected language
- Smooth transition to main app
- Login: OTP-based authentication
- Signup: Aadhaar-verified account creation
- Language selector on both screens
- Form validation in selected language
- Language selector (compact mode)
- Quick action buttons for reporting and tracking
- Community issues feed
- Real-time status updates
- Interactive post cards with upvoting
- Camera integration for photo capture
- Category selection for issue types
- Location-based reporting
- Multilingual form fields
- Personal reports dashboard
- Status tracking (Submitted, In Progress, Resolved, Rejected)
- Timeline view of issue progress
- Notification system
The app uses i18next for internationalization with the following configuration:
typescript // i18n/index.ts i18n .use(LANGUAGE_DETECTOR) .use(initReactI18next) .init({ compatibilityJSON: 'v3', resources: { en: { translation: en }, hi: { translation: hi }, nagpuri: { translation: nagpuri }, }, fallbackLng: 'en', debug: DEV, interpolation: { escapeValue: false, }, });
The app supports both light and dark themes with government-appropriate color schemes:
typescript // constants/Colors.ts export const Colors = { light: { text: '#1e293b', background: '#ffffff', tint: '#2563eb', // ... other colors }, dark: { text: '#f1f5f9', background: '#0f172a', tint: '#3b82f6', // ... other colors }, };
- Translation Files: Comprehensive JSON files for all three languages
- Language Context: React context for global language state management
- Language Selector: Beautiful dropdown component with native script display
- Persistent Storage: AsyncStorage integration for language preference
- Themed Components: Consistent theming across all components
- Responsive Design: Adaptive layouts for different screen sizes
- Accessibility: Screen reader support and accessibility features
- Animations: Smooth transitions and micro-interactions
- Context API: Global state for language and theme
- Custom Hooks: Reusable logic for translations and theming
- Local Storage: Persistent user preferences
- Expo Router: File-based routing system
- Tab Navigation: Bottom tab navigation for main features
- Stack Navigation: Modal and screen transitions
- Common: 15+ common UI elements (buttons, labels, etc.)
- App: 6+ app-specific terms (name, subtitle, etc.)
- Authentication: 20+ auth-related terms
- Home: 10+ home screen elements
- Landing: 8+ landing page elements
- Splash: 6+ splash screen elements
- Language: 4+ language selection terms
- Categories: 9+ issue categories
- Issue Types: 6+ specific issue types
- Terms: Complete terms of use content
- Aadhaar Integration: Government-verified identity system
- Secure Storage: Encrypted local storage for sensitive data
- Input Validation: Comprehensive form validation
- Error Handling: Graceful error handling and user feedback
- Primary Blue: Government-appropriate blue (#2563eb)
- Success Green: Issue resolved status (#059669)
- Warning Amber: In-progress status (#d97706)
- Error Red: Rejected status (#dc2626)
- System Fonts: Native font rendering for all languages
- Font Weights: Multiple weights for hierarchy
- Responsive Sizing: Adaptive font sizes
- Consistent Styling: Unified design language
- Accessibility: WCAG compliant components
- Theme Support: Light and dark mode compatibility
- Expo Build: Optimized production builds
- Platform Support: Android and iOS
- Asset Optimization: Compressed images and fonts
- Development: Hot reload and debugging
- Staging: Pre-production testing
- Production: Optimized release builds
- Lazy Loading: On-demand component loading
- Image Optimization: Compressed and optimized images
- Translation Caching: Efficient translation loading
- Memory Management: Optimized state management
- Fork the repository
- Create a feature branch
- Make your changes
- Add translations for new features
- Test across all supported languages
- Submit a pull request
This project is developed for the Government of Jharkhand and is subject to government licensing terms.
SIH Team Overclock - Smart India Hackathon 2024
For technical support or feature requests, please contact the development team.
Built with β€ for the people of Jharkhand
Making civic issue reporting accessible, multilingual, and efficient for all citizens.