A mobile app development project for local bartering.
Users can post their items available to trade locally using short videos, enabling visual demonstration without lengthy descriptions or photos. For each video post, other users can play the role of moderator to comment and share opinions. The app also includes a chat system and encourages meeting in public places for safety.
- 📹 Video-based item posting (record + upload)
- 🏷️ Tagging and geolocation of video posts
- 💬 Real-time chat and messaging
- 🧑⚖️ Moderator-style comment system
- 🔒 Firebase Authentication and Storage
git clone https://github.com/XiangshengGu/PayNothing.git
cd paynothingUsing npm:
npm installYou must have Android Studio installed, with emulator or physical device ready.
npx expo startnpx expo run:android
⚠️ The app will load JavaScript via Metro. Ensure your computer and phone are on the same network, or connect via USB with developer mode enabled.
To generate a standalone .apk file that works without Metro, run:
cd android
./gradlew assembleRelease # on macOS/Linux
gradlew.bat assembleRelease # on WindowsYou will find the output file at:
android/app/build/outputs/apk/release/app-release.apk
You can copy this APK to your phone and install it manually for testing.
- Node.js >= 16
- Java JDK 17+
- Android Studio (with SDKs)
JAVA_HOMEmust be properly set
This project uses Firebase for:
- 🔐 Authentication (Email/Phone/Google)
- ☁️ Firestore for real-time database
- 🗃️ Firebase Storage for video files
Configuration is stored in
FirebaseConfig.ts. You must create your own Firebase project and supply credentials.
- React Native + Expo
- Firebase (Auth, Firestore, Storage)
- Zustand for global state
- React Navigation + Expo Router
- Expo AV / Camera / Location APIs