Skip to content

About

an app which helps you track your syllabus smoothly as you go

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

Study Tracker

A small offline syllabus tracker. Paste in your subjects, tick off topics as you study them, and see what's left. No account, no backend, no internet.

Runs two ways from the same source: a mobile web app (PWA) and an Android APK.


Features

  • Paste a syllabus straight from a PDF — it works out modules, topics and hours
  • Tick topics off by hand; nothing is ever marked complete automatically
  • Progress percentages for each module, each subject, and overall
  • Search across every subject and topic
  • Add and delete subjects in the app
  • Progress is saved on the device and survives restarts
  • Works fully offline
  • Dark themed

Install on Android

Download StudyTracker.apk from this repo and open it on your phone.

Android will warn you about installing from an unknown source — that's expected for any app not from the Play Store. Full walkthrough, including transfer methods and what each warning means: INSTALL-ON-PHONE.md.

Run as a web app

cd study-tracker
python3 -m http.server 8000

Open http://localhost:8000. On a phone on the same Wi-Fi, browse to your machine's IP and use Add to Home screen to install it. Details in study-tracker/README.md.

It's static files only, so any host works — GitHub Pages, Netlify, Vercel.


Adding your syllabus

The app starts empty. Tap +, name the subject, and paste your modules and topics. Text copied out of a syllabus PDF works directly:

Module:1 Introduction
6 hours
Introduction- Evolution of AI, State of Art -Different Types of Artificial
Intelligence-Intelligent Agents

becomes Module 1 "Introduction", 6 hours, with five topics. The parser rejoins lines the PDF wrapped mid-sentence, reads the hours line as metadata, and splits topics on , - – while keeping hyphenated terms like Alpha-Beta and tic-tac-toe whole.

The preview lists every topic it found — check it before tapping Add. No parser gets pasted PDF text right every time. There's a One topic per line toggle for lists you type yourself.

Six VIT CSE syllabi (DBMS, Compiler Design, Embedded Systems, Cloud Architecture, Discrete Maths, Probability & Statistics — 48 modules, 359 topics) ship as an optional sample pack, loadable in one tap from the empty home screen.


Layout

study-tracker/       The app. Plain HTML/CSS/JS, no build step, no dependencies.
  index.html
  app.js             Rendering, ticking, progress, search, syllabus parsing
  syllabus.js        The optional sample subjects
  styles.css
  sw.js              Service worker (web only — disabled inside the APK)
android-build/       Capacitor wrapper that packages the app as an APK
  build-apk.sh       One command to rebuild
StudyTracker.apk     Prebuilt, signed, ready to install

Building the APK yourself

Needs JDK 17 and the Android SDK (platform 34). With those on your machine:

cd android-build
npm install
./build-apk.sh

build-apk.sh expects the JDK at ~/opt/jdk-17* and the SDK at ~/Android/Sdk; edit the two export lines at the top if yours live elsewhere.

Without a keystore.properties (it is not in this repo, deliberately) the release build is unsigned. To sign your own:

keytool -genkeypair -v -keystore android-build/android/my.keystore \
  -alias my-key -keyalg RSA -keysize 2048 -validity 10000

then create android-build/android/keystore.properties:

storeFile=my.keystore
storePassword=yourpassword
keyAlias=my-key
keyPassword=yourpassword

Keep that keystore safe and out of git — Android only installs an update over an existing app when both are signed with the same key.


Tech

Vanilla JavaScript, no framework and no dependencies at runtime. State lives in localStorage under three keys (studytracker.v1.subjects, .done, .open). The Android build is a Capacitor WebView wrapper with every asset bundled, so it needs no network at any point.

About

an app which helps you track your syllabus smoothly as you go

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages