Android + Node.js Express app migrated to Firebase.
- Firebase Authentication for email/password and Google Sign-In
- Cloud Firestore for users, parking spots, slots, bookings, payments, reviews, and community posts
- Firebase Realtime Database for live parking availability
- Firebase Storage for parking images and user avatars
- Firebase Cloud Messaging for booking notifications
- Firebase Hosting placeholder under
firebase/public
-
Create a Firebase project.
-
Add an Android app with package name
com.neopark.smartfinder. -
Download
google-services.json. -
Place it at:
android/app/google-services.json -
Enable Authentication providers:
- Email/Password
-
In Android Studio, sync Gradle and run the app.
The app keeps demo fallbacks so screens still render before Firebase data is seeded, but real login/data requires google-services.json.
-
Create a Firebase service account: Firebase Console > Project Settings > Service Accounts > Generate new private key
-
Copy
backend/.env.exampletobackend/.env. -
Set:
FIREBASE_PROJECT_ID=your-firebase-project-id FIREBASE_DATABASE_URL=https://your-firebase-project-id-default-rtdb.firebaseio.com FIREBASE_STORAGE_BUCKET=your-firebase-project-id.appspot.com FIREBASE_SERVICE_ACCOUNT_PATH=C:\absolute\path\to\service-account.json
-
Install backend dependencies:
cd backend npm.cmd install -
Seed Firestore:
npm.cmd run seed -
Start backend:
npm.cmd start
Deploy rules from the firebase folder:
cd firebase
firebase deploy --only firestore:rules,storage,databaseSearch Parking -> View Details -> Book Slot -> Pay -> Get QR Ticket
The booking flow writes to:
bookingspaymentsslotsparking_spotsparking_availabilityin Realtime Database