Skip to content

Releases: Hameme21/Edutools

v1.1.8

Choose a tag to compare

@Hameme21 Hameme21 released this 01 Nov 09:58

Account, Drive and Android notification update

Drive Sync button

The Sync button now looks for educal_sync_data.json in the selected Google account's Drive. If found, it downloads and applies that routine, including an empty class list. If missing, it creates the JSON from the current routine. Sync does not overwrite an existing file. Lookup, permission and malformed-file failures leave the local routine in place and report failure. Routine changes are then sent to the shared account backend for the other client.

Google Drive permission is requested on explicit Sync, using the same Google account as Edutools. The existing drive.file scope is retained: Google only exposes files created by or previously authorized for this app. An unrelated JSON manually uploaded to Drive may not be visible to that scope. Google Drive API must be enabled in the project's Google Cloud API library. In a Google OAuth project in Testing mode, the user may need to be included among its test users to grant Drive access.

Registration and returning users

All registration screens offer CSE, DS, BBA, CE, EDS, EEE and BSE. New Google users must finish their name, student ID and department before receiving an app session or accessing the dashboard. The web registration gate is opaque and cannot be skipped.

The backend validates Firebase ID-token signatures against Google's public signing certificates and checks the project, expiry, Google provider and verified email. Google's verified email is the email-verification step; a second emailed link is not sent for Google sign-in. Registered Google users receive a session directly. Browser and app sessions are saved locally for return visits. Password sign-in also avoids email-verification links. If a user signs out and chooses passwordless email-link sign-in, a fresh sign-in link is still required to prove identity.

No Firebase SMTP setting or disabling of verification is needed. Keep the existing Google provider enabled and the corrected Android signing fingerprint. FIREBASE_PROJECT_ID defaults to edutools-e2558 and is included in the Render blueprint; it must match the Firebase project used by both clients.

Registered profiles are persisted to MongoDB and loaded on backend startup. Keep MONGODB_URI configured in Render. Without a persistent database, Render restarts can lose registrations even when local browser sessions remain.

Android notifications

The existing Enable Notifications screen now requests Android's real runtime notification permission. A new preference key lets users who saw the older informational screen receive this real prompt once. Denial is respected, and users can enable notifications later in Android Settings.

Notification categories are Classes, Events, Semester fees, Exams and Holidays. The existing reminder engine determines times, custom reminder settings, and holiday suppression. Future reminders are persisted natively; one AlarmManager event schedules the next due reminder, including after a reboot. Android notification channels let users adjust each category separately.

Exact timing uses the Android Alarms & reminders special access when granted. Otherwise Android's inexact scheduling is used and reminders can be delayed by the system. Notifications are local reminders; Firebase Cloud Messaging is not required. The schedule covers the next 21 days and refreshes when the app recalculates reminders; open the app periodically to refresh that horizon.

v1.1.7

Choose a tag to compare

@Hameme21 Hameme21 released this 01 Nov 06:28

This update improves routine synchronization between the mobile app and website, with clearer sign-in and sync feedback.

What's new

  • Improved routine sync for the same account across mobile and web.
  • Fixed mobile sign-in uploading an empty routine before loading the saved account routine.
  • Added sync support for routine date ranges, room and time changes, instructor details, and reminder settings.
  • Fixed deleting the last class failing to update the other device.
  • Protected existing routines from older empty cloud snapshots during migration.
  • Added queued updates and retries when routine synchronization fails.
  • Separated personal class routines from global calendar broadcasts.
  • Improved Google sign-in error messages and timeout handling; Google Drive permissions are requested after login completes.
  • Updated the app's version reporting to 1.1.7.

v1.1.6

Choose a tag to compare

@Hameme21 Hameme21 released this 01 Nov 05:42

Edutools v1.1.6

This update improves sign-in and email delivery.

  • Fixed Google sign-in returning to the login screen without feedback.
  • Added clearer error messages and timeouts for stalled sign-ins.
  • Moved Google Drive permission requests until after login completes.
  • Switched verification, OTP, and password-reset emails to Brevo’s HTTPS API.

v1.1.5

Choose a tag to compare

@Hameme21 Hameme21 released this 30 Oct 17:16

What's New in v1.1.5

Auth Flow — OTP replaced with Email Verification Link

  • Website: Auth gate sign-in and registration now send a verification link instead of a 6-digit OTP. The page polls automatically and logs you in once you click the link.
  • Old auth modal: Also converted from OTP to verification links with auto-polling.
  • Google Sign-In: Verification flow cleaned up and consistent with the new link-based approach.
  • Flutter app: Login dialog now uses verification link polling — no more OTP input field. Shows a "Waiting for verification..." spinner with inbox/spam folder hint.
  • Backend: send-verification-link endpoint extended to support registration (with pending password, profile data) and sign-in flows. check-verification endpoint returns student data and JWT on successful verification.
  • Timer: Verification links now expire in 15 minutes (up from 5 minutes for OTP).

Tools Section — Academic Calendar

  • New interactive calendar panel in the Tools tab, mirroring the Dashboard calendar.
  • Full month navigation, day selection, holiday indicators, class timetable, and notices/deadlines agenda.
  • Opens directly from the "Academic Calendar" tool card instead of navigating to Dashboard.

Other

  • Version bumped to 1.1.5+17.
  • docs/index.html synced with root.

v1.1.4 — Semester CGPA, Keywords & Curriculum Fix

Choose a tag to compare

@Hameme21 Hameme21 released this 30 Oct 11:54

What's New in v1.1.4

CGPA Calculator — Complete Rework

  • Semester-based GPA calculator with T1-T12 trimester selector
  • Courses auto-populate from UIU CSE curriculum when selecting a trimester
  • Searchable course fields — type code, name, or keyword to find any course
  • Full retake support with old grade tracking
  • Target CGPA planner to see required GPA for remaining semesters

Exam Routine — Enhanced Search

  • Full keyword search across all courses (aliases, abbreviations, alternate codes)
  • Search by shorthand: os, dsa, ml, ai, spl, dbms, etc.

Division Calculator — Dropdowns & Fix

  • Waiver: dropdown with None / 25% / 50%
  • Scholarship: dropdown with None / 25% / 50% / 100%
  • Credit fee corrected to 6500

Course Planner — Correct Curriculum

  • All 12 trimesters updated with correct course assignments
  • GED options: GED 1005, ECO 4101, ACT 2111, TEC 2499
  • Elective tracks corrected and organized

Website

  • All features synced to web version

Edutools v1.1.3

Choose a tag to compare

@Hameme21 Hameme21 released this 30 Oct 05:54

What's New in v1.1.3

Google Drive Sync Fix

  • Added Drive permission: Google Sign-In now requests drive.file scope so the app can actually create and read educal_sync_data.json in your Google Drive
  • Fixed token handoff: The Google OAuth access token is now properly passed to the Drive sync service after sign-in
  • Fixed sync file name mismatch: App and website now use the same file name (educal_sync_data.json) so data syncs correctly between platforms

Previous (v1.1.2)

  • Replaced OTP with email verification link for Google Sign-In
  • Added password reset via email link
  • Added "Forgot Password?" option to login screens

v1.1.2 — Email Verification & Password Reset

Choose a tag to compare

@Hameme21 Hameme21 released this 29 Oct 18:41

What's New in v1.1.2

Email Verification with Link (Google Sign-In)

  • Replaced 6-digit OTP codes with a clickable verification link sent to your email
  • After Google Sign-In, just click the link in your inbox — the app detects it automatically
  • 15-minute link expiry (up from 5 minutes with OTP)

Password Reset

  • Added Forgot Password? option on all sign-in screens
  • Enter your email to receive a password reset link
  • Reset form is a simple web page — works from any device

Other

  • Bumped version to 1.1.2
  • Fixed shared_preferences Android dependency compatibility

v1.1.0.0

Choose a tag to compare

@Hameme21 Hameme21 released this 28 Oct 18:49

What's New in v1.1.0.0

  • Mandatory Firebase Login: Users must sign in before accessing the app
  • Google Sign-In: One-tap Google authentication via Firebase Auth
  • UIU Email OTP Login: Alternative sign-in with UIU student email
  • Device-Level OTP Blocking: Blocks device after 6 OTP requests to prevent abuse
  • UIU-Only Email Enforcement: OTP restricted to UIU degree-program emails only
  • Improved Email Delivery: Retry logic, connection pooling, and increased timeouts for reliable OTP delivery

Download

Download app-release.apk and install on your Android device.

v1.0.9

Choose a tag to compare

@Hameme21 Hameme21 released this 28 Oct 18:28

What's New in v1.0.9

Firebase Authentication & Mandatory Login

  • Google Sign-In — sign in with your Google account (recommended: UIU student email)
  • Mandatory login screen — users must sign in before accessing the app
  • Firebase Auth integration for secure, reliable authentication
  • UIU Email OTP/Password sign-in remains as secondary option

Security & Rate Limiting

  • Device-level OTP blocking — devices blocked after 6 OTP requests
  • UIU-only email enforcement — only UIU degree-program emails accepted for OTP
  • Persistent device ID tracking via SharedPreferences

SMTP Email Reliability

  • Increased SMTP timeouts (30s) for Render cold-start resilience
  • Connection pooling with automatic retry on stale connections
  • Server race timeout increased to 45s with fresh transporter retry

Previous (v1.0.8.5)

  • Retake-aware CGPA & Tuition calculators
  • Faculty Directory (348 members)
  • Notification permission onboarding
  • Add Password for OTP-only accounts

v1.0.8.5

Choose a tag to compare

@Hameme21 Hameme21 released this 28 Oct 17:44

What's New in v1.0.8.5

Rebuilt Tools Section

  • CGPA Calculator — Course-by-course entry with UIU grade scale (A through F), full retake support (handles F and non-F retakes differently), previous CGPA input, and Target CGPA Planner
  • Tuition Fee Calculator — Retake credits at 50% rate (immune to discounts), general waiver (25%/50%), result-based scholarship (25%/50%/100%), cascading discount logic, 40/30/30 installment plan, and multi-trimester planner
  • Faculty Directory — Searchable list of 348 UIU faculty members by name or code

Bug Fixes

  • Fixed Academic Notices navigation bar UI bug (FAB overlapping bottom nav)
  • Simplified tools section — removed redundant shortcuts

New Features

  • Notification permission onboarding screen with countdown on first launch
  • Add Password option for OTP-only users (from v1.0.8)

Download

Download edutools-v1.0.8.5.apk below and install on your Android device.