PxView
PxView also know as PxView R is an unofficial Pixiv app client for Android and iOS, built with React Native.
Screenshots
Features
-
Bottom navigation
-
Ranking
- Enjoy the latest popular works.
- Find trending works over the past day, week, or month.
-
New Works
-
Check out new works from the users you're following.
-
View new works from your friends or all pixiv users
-
Search
- Search for your favourite works with keyword.
- Search for popular titles or characters.
- Search illustrations/novels by tags, titles or id.
- Search for users.
- View the latest trends on pixiv with "Featured Tags"
-
One tap button to save multiple images
-
Mute and highlight tags (New in version 1.6)
-
Tag Encyclopedia (New in version 1.6)
-
Support localization (English, Japanese, Chinese)
-
Ad free
Download
Getting Started
$ git clone https://github.com/alphasp/pxview
$ npm install
$ npm run pod-install
- Set up Firebase account on Firebase.
- Create a new project, and enable Google Analytics
- [Android] Add android app on firebase console, download
google-services.json
and move to/android/app
folder - [iOS] Add iOS app on firebase console, download
GoogleService-Info.plist
and move to/ios
folder - (Optional) In app feedback feature: Create Realtime Database from firebase console and enable rules to write to
feedback
- Run the app
- [Android]
$ npm run android
- [iOS]
$ npm run ios
- [Android]
Application Architecture
- redux is a predictable state container for JavaScript apps,
- redux-saga is a library that aims to make side effects (i.e. asynchronous things like data fetching and impure things like accessing the browser cache) in React/Redux applications easier and better.
- redux-persist is use to persist and rehydrate a redux store. It is use in this project to persist redux store in react-native
AsyncStorage
and rehydrate on app start. - react-navigation is the official react-native navigation solution. It is extensible yet easy-to-use
- react-native-paper is a Material Design library for React Native (Android & iOS)
- react-native-localization is a library to localize the ReactNative interface
- react-native-firebase is a A well-tested feature-rich modular Firebase implementation for React Native. Supports both iOS & Android platforms for all Firebase services. It is use in this project for crash reporting and analytics.
- normalizr normalizes nested JSON according to a schema
- reselect is a selector library for Redux that is efficient and can compute derived data, allowing Redux to store the minimal possible state.
- And more..
Tests
$ npm test
Related Projects
pixiv-api-client - Api client for Pixiv
Contribute
- Fork pxview
- Follow steps in Getting Started to install dependencies and setup.
- Make your code changes
npm run lint
to lint and prettify codes, make sure all eslint warning and errors are fixed.npm test
to run test, make sure all tests are passed.- Commit and push your codes, then create a pull request.
Donations
If you like this application and think it is useful, you may consider making a donation
Amazon eGift Card (Amazon US or Amazon Japan)
Send to [email protected] via email delivery option
Paypal
Github Sponsors
Bitcoin
34nfe2Jm8Tg8f8YfE4Vk12JGeXDqC4b5pU
License
MIT