You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A native Android client for COMSATS University Islamabad, Abbottabad Campus (CUIIT) students<br/>
10
-
to manage, download, and submit assignments without ever opening a browser.
10
+
to manage, download, and submit assignments — and view your weekly timetable — without ever opening a browser.
11
11
</p>
12
12
13
13
<palign="center">
@@ -26,7 +26,7 @@
26
26
27
27
## Overview
28
28
29
-
Assignly is a purpose-built Android client for the [COMSATS Student Information System (SIS)](https://sis.cuiatd.edu.pk) portal. It authenticates using your student credentials, scrapes the assignment portal, and presents everything in a clean and usable interface — with one-tap download and upload support.
29
+
Assignly is a purpose-built Android client for the [COMSATS Student Information System (SIS)](https://sis.cuiatd.edu.pk) portal. It authenticates using your student credentials, scrapes the assignment portal, and presents everything in a clean and usable interface — with one-tap download and upload support, a full weekly timetable planner, background sync with push notifications, and automatic update detection.
30
30
31
31
No more squinting at a tiny browser, fighting with broken mobile web layouts, or missing deadlines buried inside a clunky table.
32
32
@@ -37,7 +37,7 @@ No more squinting at a tiny browser, fighting with broken mobile web layouts, or
37
37
### Secure Login & Auto Sign-In
38
38
39
39
- Log in using your COMSATS registration number (e.g. `SP25-BCS-001`) and password.
40
-
- Credentials are stored using **Android EncryptedSharedPreferences** (AES-256 encryption) never in plain text.
40
+
- Credentials are stored using **Android EncryptedSharedPreferences** (AES-256 encryption) — never in plain text.
41
41
- On app launch, Assignly automatically signs you in using saved credentials. No re-typing required.
42
42
- Existing plain-text credentials from older versions are automatically migrated to encrypted storage.
43
43
- Logout clears all saved credentials and session cookies immediately.
@@ -90,6 +90,21 @@ Tapping this card navigates to the full **Assignment History** screen.
90
90
91
91
---
92
92
93
+
### Weekly Timetable Planner
94
+
95
+
A fully integrated timetable viewer fetches your semester schedule directly from the portal:
96
+
97
+
-**Swipe navigation** — swipe left and right to smoothly move between days of the week.
98
+
-**Pill-style day selector** — tap Mon through Sat to jump to any day. The current day is automatically selected on open.
99
+
-**Smart HTML parsing** — extracts clean structured data from the portal's raw timetable, including multi-word lab names (e.g. "DLD Microprocessor Lab", "Physics Lab").
100
+
-**Compact class cards** showing course name, session type (Lecture/Lab), time, room, and instructor.
101
+
-**Live "Now" indicator** — highlights the class currently in progress.
102
+
-**Next Class widget** — shows your upcoming class at a glance when viewing today's schedule.
103
+
-**Offline caching** — timetable data is cached locally so it loads instantly on subsequent opens.
104
+
-**Performance optimised** — pre-grouped data, memoized computations, and keyed lists for buttery smooth scrolling.
105
+
106
+
---
107
+
93
108
### Download Instruction Files
94
109
95
110
- Tap **Download** on any assignment to fetch instruction files attached by your professor.
@@ -126,22 +141,55 @@ A dedicated screen lists submitted items and missed closed submissions:
126
141
127
142
---
128
143
144
+
### Background Sync & Push Notifications
145
+
146
+
Assignly works even when you're not looking:
147
+
148
+
-**Periodic background sync** via WorkManager fetches new assignments every 6 hours (configurable in settings).
149
+
-**New assignment alerts** — push notifications for newly posted assignments you haven't seen yet.
150
+
-**Deadline reminders** — automatic reminders at 24 hours, 6 hours, and 1 hour before each deadline.
-**Smart notification permission flow** — prompts for notification access on first launch (Android 13+), and gently re-prompts on the 3rd app open of the day if notifications are still disabled.
153
+
- All notification channels are individually configurable in app settings.
154
+
155
+
---
156
+
157
+
### Automatic Update Detection
158
+
159
+
- Checks the **GitHub Releases API** for newer versions using version code tags (e.g. `vc12`).
160
+
-**In-app update dialog** — shown every time you open the app when a newer version is available, with a direct link to download.
161
+
-**Background update notification** — fires once per day via the background sync worker as a passive reminder.
162
+
- Supports update download via the [Assignly website](https://assignly-web.vercel.app/) with automatic fallback to GitHub releases.
163
+
164
+
---
165
+
129
166
### Refresh
130
167
131
-
Hit the refresh icon in the top bar at any time to re-fetch your assignments from the portal. Profile photo and student name are also re-synced on refresh.
168
+
Hit the refresh icon in the top bar at any time to re-fetch your assignments and timetable from the portal. Profile photo and student name are also re-synced on refresh.
132
169
133
170
---
134
171
135
172
### Loading Skeletons
136
173
137
-
Instead of a blank screen or a spinner, Assignly shows **animated shimmer skeleton screens** while data loads with separate skeleton layouts for the Pending and Historical screens so transitions feel natural.
174
+
Instead of a blank screen or a spinner, Assignly shows **animated shimmer skeleton screens** while data loads — with separate skeleton layouts for the Pending and Historical screens so transitions feel natural.
175
+
176
+
---
177
+
178
+
### Settings
179
+
180
+
A dedicated settings screen lets you configure:
181
+
182
+
-**Background sync** toggle and interval (1–24 hours)
0 commit comments