Unfortunately this project will be abandoned come March 31 2025 due to Google's changes to the PhotosLibrary API restricting access to images to user-selected and session only. Read more here
PicPurge is a React Native app integrated with Google Photos API, enabling users to sort through similar photos via a swipe interface and see stats like delete rate and expected data savings. The app uses technologies like Expo, React Native, Tamagui, and ReactQuery, with socket.io for server communication.
-
Clone the repository:
git clone https://github.com/justjooshing/photosapp.git picpurge cd picpurge
-
Install dependencies:
yarn
-
Run on the web:
yarn web
To run on Android via Android Studio, use:
yarn android
Note: The client URL must match the Authorised Javascript Origins set up in Google Cloud Console for Google login to work properly.
Note: Server addresses may also need to be updated in api/axios/ underbase_url
. -
Google Photos API Setup:
- You need to configure your project in Google Cloud Console.
- Add Authorised Javascript Origins and Authorised Redirect URIs to ensure Google login functions properly.
-
Testing on Google Play:
- The app is in closed testing on Google Play and requires 20 testers for public release. To join, email
[email protected]
.
- The app is in closed testing on Google Play and requires 20 testers for public release. To join, email
- React Native / Expo: For building cross-platform apps.
- Tamagui: UI styling framework.
- ReactQuery: For managing API state.
- react-native-mmkv: Cross-platform storage solution.
- react-native-reanimated: For animations and gesture handling.
- socket.io: For real-time communication with the backend.
- Google Login Failing: Make sure the client URL matches Authorised Javascript Origins in the Google Cloud Console.
- Tunnel Problems: For Android testing, you may need a hosted API instead of a local tunnel.
Feel free to submit issues, feature requests, and pull requests. Contributions are welcome!