Step 2: Create Firebase Project
Time: ~10 minutes | Type: Manual Setup | Concepts: Firebase Console, Project Configuration
What We're Building
Creating a Firebase project in the Google Cloud console and enabling Email/Password authentication.
Before You Code: Understanding Firebase
💡 Ask AI First:
What is Firebase and why do web apps use it? What does Firebase Authentication provide that I don't have to build myself? What's the difference between Firebase Auth and a database like Firestore?
What you should learn:
- Firebase is a Backend-as-a-Service (BaaS) platform from Google
- Authentication handles user accounts, login, and sessions
- Firebase handles password hashing, tokens, and security
- Later we'll add Firestore (database) to the same project
Let's Build It
Step 1: Access Firebase Console
- Open your browser and go to: https://console.firebase.google.com
- Sign in with your Google account (create one if needed)
- You should see the Firebase console homepage
What to expect:
- Clean interface with "Add project" or "Create a project" button
- List of any existing projects (probably empty if this is your first time)
Step 2: Create New Project
- Click "Add project" or "Create a project"
- Project name: Enter
todo-app(or your app's name) - Click "Continue"
What you'll see:
- Project name field turns green with checkmark when valid
- "Continue" button becomes active
Step 3: Google Analytics (Optional)
- You'll see "Enable Google Analytics for this project?"
- Toggle OFF (we don't need it for this bootcamp)
- Click "Create project"
What happens next:
- Firebase creates your project (takes ~30 seconds)
- Progress indicator shows "Creating project..." then "Your new project is ready"
- Click "Continue"
What to expect:
- You're now in your project's dashboard
- Left sidebar shows various Firebase services
- Welcome screen might appear (you can dismiss it)
Step 4: Register Web App
- On the project overview page, look for the Web icon (
</>symbol) - If you don't see it, click the gear icon next to "Project Overview" at the top
- Click "Add app" → Select Web (the
</>icon)
What you'll see:
- Modal asking "Add Firebase to your web app"
- App nickname: Enter
todo-web(or any name you like) - Firebase Hosting: Leave UNCHECKED (we'll set this up later)
- Click "Register app"
What happens:
- Firebase generates configuration code for your app
- You'll see a code snippet with your Firebase config
Step 5: Copy Firebase Config
You'll see code that looks like this:
const firebaseConfig = {
apiKey: "AIzaSyC...",
authDomain: "todo-app-12345.firebaseapp.com",
projectId: "todo-app-12345",
storageBucket: "todo-app-12345.appspot.com",
messagingSenderId: "123456789",
appId: "1:123456789:web:abc123"
};IMPORTANT:
- Copy this entire object (from
{to}) - Save it in a text file or keep the browser tab open
- You'll need this in the next step
- Click "Continue to console"
What to expect:
- You're back at the project overview
- Your web app is now registered
Step 6: Enable Email/Password Authentication
- In the left sidebar, click "Authentication"
- Click "Get started" (if first time)
What you'll see:
- Authentication dashboard
- Multiple tabs at the top: Users, Sign-in method, Templates, Usage, Settings
- Click the "Sign-in method" tab
- Find "Email/Password" in the list of providers
- Click on it (the row is clickable)
What happens:
- Modal opens with "Email/Password" settings
- Enable toggle: Turn ON the first option ("Email/Password")
- Email link: Leave OFF (we'll use password-based login)
- Click "Save"
What to expect:
- "Email/Password" row now shows "Enabled" status
- Green dot or checkmark next to it
Verify It Works
Checklist:
- [ ] Firebase project created and visible in console
- [ ] Web app registered (shows under Project Settings → General → Your apps)
- [ ] Firebase config copied and saved
- [ ] Email/Password authentication enabled (shows "Enabled" in Sign-in methods)
How to Check:
Verify web app:
- Click gear icon → "Project settings"
- Scroll to "Your apps" section
- Should see your web app listed
Verify authentication:
- Click "Authentication" in sidebar
- Click "Sign-in method" tab
- Email/Password should show "Enabled"
Common Issues
"Project name already exists"
Problem: Someone else already used that name
Fix:
- Firebase project names are globally unique
- Try adding numbers:
todo-app-2024ortodo-app-yourname
Can't find "Enable" toggle
Problem: Wrong tab or wrong provider
Fix:
- Make sure you're on "Sign-in method" tab (not "Users")
- Click the "Email/Password" ROW itself (not just hovering)
- Look for two toggles — enable the FIRST one
"This site can't be reached" error
Problem: Typo in URL or internet connection
Fix:
- URL should be exactly:
console.firebase.google.com - Check your internet connection
- Try incognito/private browsing mode
Firebase config not showing
Problem: Skipped registering web app
Fix:
- Go to Project Settings (gear icon)
- Scroll to "Your apps"
- If empty, click "Add app" → Web icon
- Complete registration steps
What the Config Means
Understanding your Firebase config object:
const firebaseConfig = {
apiKey: "...", // Public key for Firebase API
authDomain: "...", // Domain for auth redirects
projectId: "...", // Your project's unique ID
storageBucket: "...", // Cloud Storage bucket
messagingSenderId: "...", // For push notifications
appId: "..." // Your web app's unique ID
};Is it safe to share?
- The
apiKeyis NOT a secret (it's meant to be public) - Firebase uses Security Rules to protect your data
- You'll add these rules in a later slice
What You Learned
At this point you should understand:
- ✅ What Firebase provides (auth, database, hosting)
- ✅ How to create a Firebase project
- ✅ How to register a web app in Firebase
- ✅ How to enable authentication providers
- ✅ What the Firebase config object contains
Next Step
Project created! Now let's install the Firebase SDK in your React app: