PayMe
Simple app that tracks who has paid for an event.
- Track small payments for an event
- Use common people lists for an event
Features
- Overview (list of oustanding events)*
- Events (list of events for payment)
- People (lists of common groups of payees)
Development
# Start Metro bundler (with hot reload)
npm run start
# Start Metro bundler after clearing build cache
npm run start -- --clear
Releases
Releases can be deployed through Expo Go (for testing) or the Expo managed build system (for release). The app version is taken from the package.json
, which should be updated before every major deployment. App environment configuration is possible with the expo-updates
package, which exposes the value of the releaseChannel
used when building the app.
NOTE: Remember to update the
version
inpackage.json
before each deployment!
NOTE: Remember to properly set the release channel for each deployment!
Testing Releases
Testing releases are released through Expo Go, which allows
expo publish --release-channel <ENVIRONMENT>
Production Releases
Coming Soon
UI
Components
Components are based on the React Native Paper library, an interpretation of the Material Design guidelines for React Native.
Images
Vector images are taken from UnDraw and edited in Affinity Photo to remove the background.
App Icons
Icons were generated with the Build Icon tool.
Notes
Resources
Linting
Since the upgrade to Expo SDK 43, @react-native-community/eslint-config
does not properly install all dependencies (Mac only). After spending too much time trying to debug the issue, I have installed all its dependencies manually to get around the issue.
react-native-paper
Version 4.10.0
of react-native-paper
has issues with TypeScript for any component based upon the Text
component. Downgrading to 3.9.2
resolves the issues without missing many additional features.
TODOs
- Explore localized date formatting with (
i18n Formatting
) (alternative at Brains and Beards) - Improve theme colors (especially dark theme)