T

Topper247 Admin

Sign in with your admin Google account

Authorized admins only · audit-logged

T
Topper247
Admin Console
Manage
Taxonomy
Corpus
Operations
System
T
Topper247
Tests
Build, edit and publish exam tests

Tests

Build, edit and publish exam tests

Loading tests…
This test is published and encrypted.
Questions are AES-encrypted on the server and cannot be edited from here. Editing or saving would overwrite the encrypted blob and destroy the test.
To change questions: create a new test from scratch (or duplicate this one to a draft) and publish it as a new version.
Test Builder
New Test
Not saved yet

Test Details

·

Tick every exam this Subject test should appear under. The Primary Exam above is always included.

Live Stats
0
Questions
0
Total Marks
0
Sources

Add Questions From… (mix and match — order is preserved)

Manual
Form entry
JSON
Drop / paste
CSV
Spreadsheet
HTML
Tables / SVG
JS
Programmatic

Question Queue 0

0 selected
No questions yet
Tap any source above to start adding

Exam Catalog

Manage exam tiers shown across the app · drag to reorder

Pinned 0
Dynamic 0

Daily Quiz

1–50 questions per day · GK, Current Affairs, General Studies

Upcoming & Recent
Today's Quiz
—
Scheduled Ahead
—
Last 30 Days
—
Avg Questions/Quiz
—

All Quizzes

0
This daily quiz is published and live in the app.
Clicking "Save Draft" would unpublish it — users would stop seeing it immediately. To save edits while keeping it live, click "Re-publish" instead.
Daily Quiz
New Daily Quiz

Quiz Details

Leave blank: 30s/Q

Live Stats
0
Questions
0
Total Marks
0
Auto Min

Add Questions From… (1 to 50 questions, mix sources)

Manual
Form entry
JSON
Drop / paste
CSV
Spreadsheet
HTML
Tables / SVG
JS
Programmatic

Question Queue 0 / 50

No questions yet
Tap any source above to start (1 to 50 questions)

Settings

Firebase config, encryption, admin access

Mobile App Feature Flags

Runtime flags read by the Flutter app on every cold start. Toggle ON to push the change live within ~30 seconds — no app update needed.

Require Google sign-in

When ON, new app users must sign in with Google before using the app (existing anonymous users keep working until they re-install). When OFF, all users continue silently as anonymous.

Loading…

App Control Panel

All fields below live in appConfig/flags and are picked up by the app within its current session (no app-store release needed).

Force update

Users on an older version than this see a non-dismissible "Update now" screen linking to the Play Store.

Maintenance mode

Blocks the entire app with a message — for backend maintenance windows.

Interstitial ad frequency
test submits between interstitials (1 = every test)
Enforce App Check

When ON, Cloud Functions reject calls without a valid App Check token. App versions before 1.1.0 have no App Check and will stop loading tests. Turn on only after most users have updated. Takes effect within ~1 minute.

The old single-line home banner has been replaced by the Latest Updates tab.

Free Plan Copy

Controls the Free-tier card on the app's plans screen. The Pro/paid tier's price always comes live from the Play Store — only Free-tier copy is editable here (appConfig/plans).

Firebase Configuration

Paste your Firebase project config here. Get it from Firebase Console → Project Settings → General → Your apps → Web. Stored in browser localStorage, never sent anywhere.

Admin Allowlist

Users in admins/{uid} can sign in here. Admin can change anything; Viewer can see Users, Payments, Analytics and the Audit Log but cannot publish, edit, block or send. Find a person's UID in the Users tab.

Broadcast Notification

Push notification to every app user who has notifications enabled (FCM topic all). Sends immediately — there's no undo.

Cloud Function (Encryption)

The publishTest Cloud Function encrypts test docs server-side using your AES-GCM key. Deploy from functions/ directory in this project.

Status: Not tested yet

Subjects

Popular subjects shown in the app's Subject-screen filter · order = top→bottom · must match each test's Subject field

All Subjects 0

Topics

Topics belong to a subject · pick a subject, then add its topics · used in the test form

Topics in this subject 0

Dropdown Lists

The option lists behind the test form's dropdowns · add, rename, reorder or hide entries · order = top→bottom

Board 0

Exam-conducting body — appears as Board on the test form.

Year 0

Seeded 2026 → 2011. Add future years (2027, …) here as they come.

Select Exam 0

Your own exam list. These show up in the test form's Exam dropdown alongside the .

Rebuild app catalog

The app reads one catalog document instead of querying every test. It updates automatically whenever you save a test — but only for that test. Run this once after Board or Topic becomes filterable so already-published tests carry those values too, otherwise picking a Board in the app shows nothing for older tests. Reads test metadata only, writes no test docs, and is safe to re-run.

Question Bank

Every published question, de-duplicated into one master corpus · exam · year · paper type · subject · topic · answer · explanation

Starting…
Total Questions
—
Matching Filter
—
Loaded Below
0
Reused in 2+ Tests
0
Full-text search (Cloudflare D1)
Loading question bank…

Latest Updates

Cards in the app's "Latest updates" carousel, right below the search bar. Changes show up live.

Study Material

PDFs stored in Cloudflare R2. Premium items open only for subscribers.

Competitions

Scheduled live mock tests with registration, a shared start/end and a ranked leaderboard

Tip: keep this test unpublished so nobody can see its questions before the competition starts.

Users

Search by exact UID or an email prefix (lowercase)

Payments

Play Billing entitlement state — the app's source of truth for premium access

Analytics

Rolled up once daily at 23:55 IST — today's numbers appear tomorrow

Last 30 days

Audit Log

Every sensitive admin/system action — publish, block, broadcast, quota events