A React Native mobile application that provides real-time COVID-19 statistics and information globally. Track cases, recoveries, and deaths worldwide, explore regional data, learn about prevention measures, and access emergency resources.
- Global Statistics: Real-time COVID-19 statistics for the entire world
 - Country-specific Data: Detailed statistics for individual countries with historical trends
 - Regional Data: Breakdown of statistics for states/regions within countries
 - Data Visualization: Interactive charts including bar charts, trend graphs, and pie charts
 - Information Center: Educational content about symptoms, prevention measures, and recommendations
 - Localization: Full support for English and Russian languages
 - Sharing: Generate and share statistics via social media platforms
 - Offline Support: Access previously loaded data without an internet connection
 
- React Native (0.63.3)
 - Redux with Redux Thunk for state management
 - React Navigation 5.x for navigation
 - Styled Components for styling
 - D3-scale & D3-shape for data visualization
 - i18n-js & react-native-localize for internationalization
 - React Native SVG for rendering graphics
 - AsyncStorage for local data persistence
 
- Node.js (>= 12.x)
 - npm or yarn
 - React Native CLI
 - Xcode (for iOS development)
 - Android Studio (for Android development)
 - CocoaPods (for iOS dependencies)
 
# Clone the repository
git clone [email protected]:sslava/rucovid.git
cd rucovid
# Install dependencies
npm install
# or
yarn install
# Install iOS dependencies
cd ios
pod install
cd ..# Run on iOS simulator
npm run ios
# or
yarn ios# Make sure you have an Android emulator running or a device connected
npm run android
# or
yarn androidnpm start
# or
yarn startsrc/
├── App.js                 # Entry point
├── app/                   # Redux store and modules
├── assets/                # Static assets (icons, images, localization)
├── common/                # Shared utilities and helpers
├── components/            # UI components
│   ├── Countries/         # Country listing screens
│   ├── CountryDetails/    # Country detail screens
│   ├── Info/              # Informational screens
│   ├── Stats/             # Statistics components
│   ├── common/            # Common UI components
│   └── shared/            # Shared components across features
The application uses a custom COVID-19 API from covidum.com for fetching global and country-specific data:
- Global and country statistics: 
https://api.covidum.com/request/get_stat - Historical data: 
https://api.covidum.com/request/get_stat_history/{country_code} - Regional data: 
https://api.covidum.com/request/get_stat_regions/{country_code} 
# Run tests
npm test
# or
yarn test
# Run linting
npm run lint
# or
yarn lintBuild the app using Xcode by selecting the appropriate scheme and choosing "Archive" from the Product menu.
- Fork the project
 - Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
 
This project is licensed under the MIT License - see the LICENSE file for details.
- Medical information adapted from WHO guidelines