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 git@github.com: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 android
npm start
# or
yarn start
src/
├── 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 lint
Build 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