Google Cloud Console
What Google Cloud Console is, when you need it, and how it fits into the apps you build in this program.
Why this exists — the scenario that creates the need
Your app has a "Sign in with Google" button. A user clicks it. What happens next?
Behind the scenes, your app needs to ask Google: "Can this user's account access my app?" Google needs to know who is asking. It needs a way to verify that the request is coming from your app and not from some random website pretending to be your app.
This is where Google Cloud Console comes in.
Before your app can use any Google service — whether that's Google login, Google Maps, or Google's AI (Gemini) — you have to register your app with Google and receive a set of credentials. Those credentials are how Google knows: "Yes, this request is coming from the EduTrack app. The developer registered it. Trust it."
Without this registration, Google rejects the request entirely. The login button would just show an error.
The Excel analogy
Think of Google Cloud Console as a business registration portal. When a CA firm wants to use certain government portals — GST portal, MCA21, income tax e-filing — they have to register the firm first, get a GSTIN, a TAN, a PAN. Every portal requires proof that you're a legitimate entity before granting access.
Google Cloud Console is exactly that. You register your software, Google gives you credentials, and those credentials are your proof of identity every time your app talks to Google's systems.
| Google Cloud Concept | Real-world analogy |
|---|---|
| Google Cloud project | A registered entity (like a company's GST registration) |
| Client ID | Your GSTIN — the public identifier |
| Client Secret | Your portal password — private, never shared |
| API Key | A service-specific access card |
| Enabled APIs | Services your firm has registered to use |
| Billing account | The account that pays for usage beyond the free tier |
Not every app needs this
Do not set up Google Cloud Console unless your app actually needs it. Here is when you need it and when you do not.
You need Google Cloud Console when your app:
- Has "Sign in with Google" (this is the most common reason)
- Uses Google Maps (to show a map in the app)
- Uses Google Places API (address autocomplete when a user types their location)
- Uses Google Geocoding API (converting a typed address into GPS coordinates)
- Uses Google Directions API (calculating routes and ETAs)
- Uses Google Gemini API (AI features powered by Google's models)
- Uses Google Analytics Measurement Protocol (sending server-side events to GA4)
You do NOT need Google Cloud Console for:
- Just viewing your GA4 dashboard (that's a separate Google Analytics account)
- Embedding a YouTube video (public embeds need no credentials)
- Google Fonts (fully public, no registration needed)
- Any feature that only uses public Google URLs that don't require authentication
For the projects in this program:
| Project | Needs Google Cloud? | Why |
|---|---|---|
| Personal static website | No | No Google services |
| Full-stack school management app | Probably — for Google login | "Sign in with Google" |
| EduTrack | Yes, definitely | Google login + Google Maps + Places API |
How Google Cloud is structured
When you create a Google Cloud account, everything is organized into projects. A project is an isolated container — it has its own credentials, its own enabled APIs, its own billing, and its own usage limits. Nothing bleeds between projects.
One Google account can have many projects. Keep each app in its own project — this isolates costs, credentials, and usage cleanly.
Billing — what costs money and what doesn't
Google Cloud has a free tier that covers most training and small-app usage.
| Service | Free tier | What costs money |
|---|---|---|
| Google OAuth (Sign in with Google) | Completely free, no limits | Nothing |
| Maps JavaScript API | $200/month credit (~28,000 map loads free) | Usage beyond the credit |
| Places API | $200/month credit (~1,000 autocomplete sessions free) | Usage beyond the credit |
| Geocoding API | $200/month credit (~40,000 geocoding calls free) | Usage beyond the credit |
| Gemini API | Free tier available | Higher volume or premium models |
For training projects and small apps, you will almost certainly stay within the free tier. The $200/month credit from Google Maps alone is enough for thousands of requests — far more than a training app will generate.
Always set a billing alert. Even if you expect to stay free, you must set a budget alert. One misconfigured API call in a loop can generate thousands of API requests in minutes. A ₹500 budget alert costs nothing to set up and protects you from an unexpected bill. This is covered step by step on the Project Setup page.
The two types of credentials you'll create
There are two different types of credentials in Google Cloud, and they work completely differently:
1. OAuth 2.0 Client ID (for "Sign in with Google")
This is for user authentication — letting users log into your app using their Google account. It has two parts:
- Client ID — safe to use in your frontend code. This is how Google identifies your app.
- Client Secret — server-side only. Never put this in frontend code. This is how Google verifies that requests are really from you and not someone else using your Client ID.
2. API Key (for Maps, Places, Geocoding, Gemini)
This is for accessing Google services that don't involve user login — like displaying a map or converting an address to coordinates. API keys must always be restricted to specific domains and specific APIs to prevent misuse.
Client Secret and API Keys are sensitive. Treat them like passwords. Never paste them in a WhatsApp message, never commit them to GitHub, never type them into a chat. They go into your .env file (which is never committed to git) and into Supabase secrets for server-side use.
What you'll do in the pages that follow
The rest of this section is step-by-step:
- Project Setup — Create a Google Cloud project, set up billing, set a budget alert
- OAuth Credentials — Create the Client ID and Secret for "Sign in with Google"
- Supabase OAuth — Connect your Google credentials to Supabase so your app can use Google login
- API Enabling — Turn on Maps, Places, and Geocoding; create a restricted API key
- Verification — Checklist to confirm everything is working before you move on
Work through these in order. Each page builds on the previous one.