pxview
pxview copied to clipboard
An unofficial Pixiv app client for Android and iOS, built with React Native.
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