PlayPay is a mobile payment application built with Flutter and Firebase that allows users to make (Mock) payments using QR codes.
Before getting started, make sure you have the following installed:
- Flutter SDK (latest stable version)
- Android SDK (via Android Studio)
- Git for cloning the repository
- A Google account for Firebase access
Follow these steps to set up and run the PlayPay application:
- Go to the Firebase Console
- Click "Create a project" or select an existing project
- Give your project a name (e.g., "PlayPay")
- Follow the on-screen instructions to complete project creation
- In the Firebase console, click on the Android icon to add an Android app
- Enter the package name:
com.example.playpay(or your custom package name if changed) - Enter app nickname: "PlayPay"
- (Optional) Enter SHA-1 if you need Google Sign-In
- Click "Register app"
- Download the
google-services.jsonfile provided by Firebase - Place this file in the
android/appdirectory of your Flutter project
The project should already be configured with the necessary Firebase dependencies, but verify:
- The Google Services plugin is applied in
android/app/build.gradle.kts - Firebase dependencies are in
pubspec.yaml
- Enable USB debugging on your Android device
- Connect it to your development machine
- Verify connection with
flutter devices
- In the Firebase console, go to "Authentication"
- Click "Get started"
- Select "Email/Password" from the sign-in methods
- Enable the "Email/Password" option and save
- In the Firebase Authentication section, click "Add user"
- Enter an email and password for testing
- Click "Add user"
- Open the app on your device
- Login with the credentials you created
- Start using the PlayPay features
- User authentication with email and password
- QR code generation for payments
- QR code scanning for processing payments
- Profile management
- Secure PIN setup for transactions
- If you encounter build errors, make sure
google-services.jsonis in the correct location - For "Failed to load FirebaseOptions" errors, verify your Firebase configuration
- Make sure all dependencies are up-to-date with
flutter pub upgrade