A modern React Native mobile application for discovering and using beautiful wallpapers powered by the Wallhaven API.
Shiori is a sleek, Material Design-inspired wallpaper application that allows users to browse, search, filter, and apply wallpapers directly to their devices. The app features Google Pixel-like icons and a modern UI/UX design for an intuitive user experience.
src/
├── assets/ # Static assets like icons, fonts, etc.
├── components/ # Reusable UI components
│ ├── common/ # Shared components (buttons, cards, etc.)
│ ├── wallpaper/ # Wallpaper-specific components
│ └── navigation/ # Navigation-related components
├── hooks/ # Custom React hooks
├── navigation/ # Navigation configuration
│ ├── MainTabNavigator.js # Main tab navigation setup
│ ├── StackNavigators.js # Stack navigators for each tab
│ └── index.js # Root navigation setup
├── screens/ # App screens
│ ├── Home/ # Home screen components
│ ├── Search/ # Search screen components
│ ├── Filters/ # Filters screen components
│ ├── Favorites/ # Favorites screen components
│ ├── Settings/ # Settings screen components
│ └── Detail/ # Wallpaper detail screen components
├── services/ # API and other service integrations
│ ├── api/ # API configuration and requests
│ ├── storage/ # Local storage utilities
│ └── wallpaper/ # Wallpaper-related services
├── store/ # State management
│ ├── actions/ # Action creators
│ ├── reducers/ # Reducers
│ ├── selectors/ # State selectors
│ └── index.js # Store configuration
├── theme/ # App theming
│ ├── colors.js # Color palette
│ ├── typography.js # Text styles
│ ├── spacing.js # Layout spacing
│ └── index.js # Theme provider
├── utils/ # Utility functions
└── App.js # Root component
The app integrates with the Wallhaven API to fetch wallpapers. The API provides endpoints for:
# Clone the repository
git clone https://github.com/yourusername/shiori.git
# Navigate to the project directory
cd shiori
# Install dependencies
npm install
# Start the development server
npm start
# Run on iOS
npm run ios
# Run on Android
npm run android
Create a .env file in the root directory with your Wallhaven API key:
WALLHAVEN_API_KEY=your_api_key_here
API_BASE_URL=https://wallhaven.cc/api/v1
Special Thanks to @rendinjast for the iconsax library used for the icons.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.