Capstone I — Firebase Auth, Firestore, Camera, Storage (Tour app)
Start the capstone Tour/Expense app. Firebase Auth for login, Firestore for tours & expenses, camera capture, and Firebase Storage for photo uploads.
Key concepts
- Firebase project setup (google-services.json)
- FirebaseAuth (email/password)
- Firestore collections & documents
- CameraX or ACTION_IMAGE_CAPTURE
- Firebase Storage upload with progress
Lectures in this day
- 01
Module / App Overview
The capstone (final) app is a Tour Tracker. Users sign in, create a tour, add a photo and expenses, and everything is stored in Firebase (Google's free cloud). Log in on another phone — it's all still there.
Real life · A pocket travel journal that lives in the cloud. Lose your phone, sign in on a new one — nothing lost.Practice · 3 quick questions
Q1.Module 6 builds a…
Q2.Cloud data uses…
Q3.Auth uses…
Pick one answer per question. - 02
Starter Project + Firebase Setup
Create a free Firebase project in the browser. Register your Android app (package name and SHA-1 fingerprint). Download `google-services.json` into `app/` and add the Google Services Gradle plugin — that connects the app to Firebase.
Real life · Registering a new SIM with a mobile carrier — once done, your phone can talk to the tower.gradle// project build.gradle classpath("com.google.gms:google-services:4.4.2") // app build.gradle apply(plugin = "com.google.gms.google-services") implementation(platform("com.google.firebase:firebase-bom:33.1.0")) implementation("com.google.firebase:firebase-auth-ktx") implementation("com.google.firebase:firebase-firestore-ktx") implementation("com.google.firebase:firebase-storage-ktx")Practice · 3 quick questions
Q1.Firebase project is created in…
Q2.Config file for Android is…
Q3.You add Firebase SDKs via…
Pick one answer per question. - 03
Launcher Screen Setup (I)
The launcher (first) screen decides where to send the user. If nobody is signed in → open Login. If a user is already signed in → open Home. Then `finish()` the launcher so Back doesn't return to it.
Real life · The bouncer at a club door: 'member? go in. new here? head to registration.'kotlinoverride fun onCreate(s: Bundle?) { super.onCreate(s) val next = if (FirebaseAuth.getInstance().currentUser == null) LoginActivity::class.java else HomeActivity::class.java startActivity(Intent(this, next)) finish() 0