Android Study Companion · Apache Cordova

LEGACY

A hybrid study companion forged for competitive examination preparation — chemistry, physics, and performance analytics in one application.

Platform: Android SDK 29–34  ·  Package: com.asphalts001.legacy

Explore the Application
Scroll

Get the App

Download Latest
Version

The latest build is always available directly from GitHub Releases. No account required.

Download v1.0.123 APK

Google Play Protect may flag this file during installation as the app is not yet listed on the Play Store. This is expected behaviour for sideloaded APKs. Tap "Install anyway" on the warning prompt to proceed safely.

01 · Overview

Built for Efficiency

Legacy is a hybrid Android application built with Apache Cordova, designed as a comprehensive study companion for students preparing for competitive examinations including NEET.

The application delivers a richly styled WebView interface combining static reference material, two independent quiz engines, real-time performance tracking, and optional cloud synchronisation — all within a single, self-contained APK.

Study sessions are logged, scored, and persisted locally. Progress is surfaced through a live dashboard with accuracy metrics, recent activity feeds, and exportable JSON logs. For multi-device continuity, a manual Supabase cloud sync transfers session data on demand.

24
Mcq sets covering complete subject of biology
Quick sheets
Complete covergae of physics n chemistry in extreme efficiency
1min/Q
Dynamicaly timed MCQ sessions

Everything in One Place

Chemistry Compendium

A searchable, tabbed reference covering Inorganic, Physical, and Organic chemistry with inline search filtering and named-reaction highlights.

JSON Quiz Factory

Configurable MCQ runner loading from 24 external JSON question sets. Full NEET scoring, 60-minute sessions, and per-set attempt history.

Adversarial Physics

45 hard-coded trap questions across seven difficulty categories, with a live timer and type-wise performance breakdown after each session.

Dashboard & Analytics

Real-time accuracy metrics, session tracking, recent activity feed, and one-tap JSON export of your complete study log.

Cloud Sync

Manual push/pull synchronisation of activity logs via a Supabase edge function. Keep your progress consistent across devices.

Background Audio

Persistent music playback using the Cordova Media plugin. Per-session preference storage keeps your study atmosphere consistent.

03 · Technical

Architecture &
Build Details

Framework Apache Cordova 12
Platform Android SDK 29 – 34
Entry Point WebView-based hybrid runtime
State Versioned local persistence layer
Cloud Supabase
Auth Google OAuth
Audio Plugin Native audio via Cordova media plugin
flowchart TD A[Quiz Complete] --> B[Scoring Engine\nApplies marking scheme · Builds session object · Fires update event] B --> C[State Manager\nVersioned local persistence] B --> D[Dashboard\nListens for update event · Re-renders reactively] C --> E[(Local Storage)] E -.->|on demand / hourly| F[Sync Module\nBackground auto-sync · Authenticated API call] F --> G[(Cloud Backend\nEdge Function)]

Architecture Overview

The application is built on a modular JavaScript layer running inside a native Android WebView, with clearly separated concerns across scoring, state management, and cloud synchronisation.

Scoring Engine

A dedicated middleware module processes raw quiz responses and applies domain-specific scoring logic before dispatching update events to the dashboard. The UI re-renders reactively without page reloads, keeping the experience fluid.

State Management

Application state is persisted locally using a versioned schema, ensuring forward compatibility as the data model evolves. All session and performance data is stored under a single namespaced key, with schema validation on every read and write.

Cloud Synchronisation

State is serialised and synced to a secure cloud backend via authenticated API calls. A background process maintains sync integrity throughout active sessions, with both automatic and on-demand sync supported.

Authentication

User authentication is handled via Google OAuth, routed through a secure browser context to ensure compatibility with modern WebView security policies. On successful login, tokens are captured and a persistent cloud session is established automatically.

CI / CD Pipeline

Builds run on GitHub Actions using a reproducible environment (Node 18, JDK 17, Gradle 8.7, Android SDK 34). APKs are signed with a securely stored keystore and automatically attached to tagged releases.

Security

Cloud data storage enforces row-level security, ensuring each user can only access their own records. No cross-user data access is possible at the database level.

Migration Path

The current architecture is designed with native migration in mind. The local state layer maps directly to a Room Database, and the existing event-driven UI model translates naturally to ViewModels and StateFlows in Jetpack Compose.

Auth & Cloud Sync — Full Data Path

This diagram traces the complete authentication and synchronisation lifecycle. Login is handled via Google OAuth 2.0, routed through a secure browser context to satisfy modern WebView security requirements. On successful authorisation, a signed session token is returned to the sync module and used for all subsequent authenticated requests. Study data is persisted locally and pushed to a secure cloud endpoint either on demand or via an hourly background process. The backend validates each request against the authenticated session before writing to the user data store, with row-level access controls ensuring strict per-user data isolation at the database layer.

flowchart TD subgraph Device A[Auth UI\nLogin / Signup] --> B[Sync Module\nClient Sync Logic] C[Background Timer\nAuto-sync every hour] --> B B <-->|Push / Pull| D[(Local Storage)] end subgraph Cloud E[Auth Service\nOAuth 2.0 + JWT] -->|Session Token| B B --> F[API Gateway\nSecure Edge Function] F --> G[(Database\nUser Data Store)] G --> H[Access Control\nRow-Level Security · Per-user isolation] end A --> E

What's New in
Legacy

v1.0.123 May 2026 Latest
addition of germania & Improvements

similar to pharoah,the physics stress test, a section named germania added ,it is a chemistry stress test, with explanation and also the theme, now its more consistent accross the app.

Cloud Sync Germania
v1.0.98 April 2026
Egyptian — Physics Reference Module

A brand-new immersive reference module inspired by ancient Egyptian manuscripts has been added to Legacy. Styled as a royal parchment scroll with ornamental borders, hieroglyphic motifs, and gold-leaf typography, the Egyptian module presents physics commandments — Newton's laws, electromagnetism, optics, thermodynamics, and wave mechanics — in a richly designed, filterable interface. Each law is laid out as a royal decree with clearly separated name, formula, and plain-language explanation. The module is fully searchable by keyword across title, formula, and description fields, and adapts gracefully to mobile viewports.

New Module Physics Reference Egyptian Theme Searchable Responsive
v1.0.90 March 2026 Release
Cloud Sync & Dashboard Improvements

Introduced manual Supabase cloud sync for session logs across devices. Dashboard accuracy metrics now update in real time, and the activity feed surfaces your five most recent sessions with per-set attempt history. JSON export of the complete study log added to settings.

Cloud Sync Dashboard Analytics
v1.0.80 February 2026 Release
Adversarial Physics Engine & Background Audio

Added 45 hard-coded adversarial physics trap questions across seven difficulty categories with a live countdown timer and type-wise performance breakdown. Persistent background audio via the Cordova Media plugin introduced, with per-session preference storage.

Physics Quiz Engine Audio

05 · Privacy Policy

How We Handle
Your Data

Last updated: April 21, 2026

1. Overview

Legacy is a hybrid Android study application built with Apache Cordova. This policy explains what data we collect, how we use it, and your rights regarding that data. We are committed to handling your information with full transparency.

2. Information We Collect

When you sign in with Google, we receive the following from your Google account:

We do not collect passwords, payment information, location data, or any other personal data beyond what is listed above.

3. How We Use Your Information

The information received from Google is used solely to:

We do not sell, rent, trade, or share your personal information with any third parties for marketing or any other purpose.

4. Study Data & Local Storage

Study session data — including quiz scores, accuracy percentages, and timestamps — is stored locally on your device using browser localStorage. This data never leaves your device unless you explicitly choose to use the Cloud Sync feature.

If you use Cloud Sync, your session log is sent to a private Supabase endpoint accessible only via your unique user ID. No personally identifiable information is included in this sync.

5. Data Retention

We do not permanently store your Google account information on our servers. Session authentication data is temporary and is cleared when you log out. Local study data persists on your device until you reset or uninstall the application.

6. Third-Party Services

Legacy uses the following third-party services:

7. Children's Privacy

Legacy is intended for students preparing for competitive examinations. We do not knowingly collect personal information from children under the age of 13. If you believe a child has provided us with personal information, please contact us so we can delete it.

8. Your Rights

You can revoke this app's access to your Google account at any time by visiting Google Account Permissions. You may also clear all local study data from within the application settings.

9. Changes to This Policy

We may update this privacy policy from time to time. Any changes will be reflected on this page with an updated date at the top. Continued use of the application after changes constitutes acceptance of the revised policy.

10. Contact

If you have any questions or concerns about this privacy policy, please open an issue on the project's GitHub repository at github.com/asphalts001.