Habitia · Team 054 “CosTan”

Draft — for team discussion

Milestone 3 — Sprint 2 Task Assignment

IITM Online BS · Software Engineering Project · May 2026 Term

Chinmoy Das (22f2000481) is back from sick leave and resumes Product Manager + Tester duties. Roles revert to the Milestone 1/2 base mapping; the Sprint 1 reassignment (Muktavali as PM/Tester stand-in, Abhijay as primary Code Reviewer) no longer applies. Per process rule, the PM and Scrum Master finalize the schedule only after discussing with the whole team — this is the starting proposal, not a final assignment.

Sprint 2 Deliverables (official list)

  1. Changes made based on user feedback.
  2. Updated documentation of APIs in a Swagger-compatible YAML file.
  3. Backend code of the implemented APIs — the YAML must have all the error handling, user-story mapping, and a description of each API listed, same bar as Sprint 1, applied to whatever is new or changed.
  4. Proper test cases to test the updated API.
  5. Submit pytest code for the updated API.

Sprint 2 is explicitly framed (Milestone 3 report, Section 13) as feedback-driven refinement of the existing 6 epics, not new epics. Scope is narrow and well-defined — see below.

What “User Feedback” Means This Sprint

FromAsk
Society SecretaryManual complaint reassignment via a dedicated API endpoint (today, reassignment requires changing the complaint category as a workaround).
TreasurerA treasury ledger module so the financial forecast computes its opening balance from real historical transactions instead of a placeholder constant.
ResidentServer-side pagination for bills and complaints lists (currently return complete, unpaginated result sets).
Security GuardA simplified mobile-friendly gate interface (frontend) — the current Swagger-based interface is backend-testing-oriented.

Deadline stated in the Milestone 3 report for these items: 12 August 2026. Frontend ↔ backend integration was already wired in PRs #16–21 (merged 1 Aug) and PWA support in PR #23 (merged 3 Aug) — ahead of the Milestone 3 report text, which still lists it as a Sprint 2 priority. Treat that as already done; Sprint 2 frontend work is the admin UI + mobile gate interface + pagination UI, not re-wiring what's already live.

Carried forward from Sprint 1 — unfinished work, not just new features

Two kinds of things are still open from Sprint 1: feature items the M3 report itself deferred, and process/evidence gaps that were never actually done despite being claimed. Both need to land in Sprint 2, not just the 4 user-feedback items above.

  1. Real independent testing of the Sprint 1 modules (Auth, Finance, Security, Complaints, Community, Operations, AI, Onboarding/Meta/Vendor). Abhijay's Sprint 1 "test suite" (api_test_code/*.py on the Testing branch) is byte-for-byte identical to Aditya's own backend/tests/*.py — confirmed via diff, 0 lines different across all 12 files. Nobody has independently verified these 8 modules yet — the single biggest carry-over item.
  2. Real pytest terminal screenshots for the original 199-test Sprint 1 suite — never delivered in either the WhatsApp zip or the actual submitted Milestone 3 package (both explicitly admit "not included"). Cheap to backfill now.
  3. A genuine expected-vs-actual mismatch with a before/after fix. Both Sprint 1 submissions substituted negative-path tests or environment setup notes for this. If independent testing turns up a real bug, write it up properly this time.
  4. File any bug found as a GitHub Issue — this process has never actually been exercised (zero bug-report issues exist in the repo to date).
  5. Complaint routing upgrade (Story 6.7: rule-based category→vendor lookup to a real ML/LLM classifier) — item 5 in the M3 report's own Sprint 2 Plan. Treat as a stretch item: don't let it crowd out the 3 committed user-feedback endpoints. If it doesn't fit, explicitly re-defer to Sprint 3 rather than silently dropping it again.

Role Mapping (reverted to base)

MemberRoll No.Role(s) this sprint
Chinmoy Das22f2000481Product Manager + Tester (primary)
Muktavali Rao23f1001172Scrum Master + Code Reviewer (primary)
Aditya Kumar23f3004176Backend Developer (primary) + Scrum Master (secondary)
S Ramakrishnan22f3000400Frontend Developer (primary) + Backend Developer (secondary)
Abhijay Sharma23f3002675Tester (secondary, with Chinmoy) + Code Reviewer (secondary)

Lessons from Sprint 1 — non-negotiable this time

The Sprint 1 testing submission had four specific problems that must not repeat, given the narrow scope this sprint makes them easy to avoid:

  1. Tests must be new code written against the 3 changed/added endpoints (manual reassignment, treasury ledger forecast, pagination) — not a copy of the existing 199 tests under a new folder name. This is directly checkable: the new test files should have no matching content in backend/tests/*.py on main.
  2. Actual screenshot image files (pytest terminal grabs) must be attached — not a markdown document that lists screenshot filenames which don't exist in the branch.
  3. Submit via feature branch + Merge Request, linked to a GitHub Issue, with a reviewer tagged — not a raw branch pushed via GitHub's web upload UI with no PR opened.
  4. If a real bug is found in the new endpoints, file it as a GitHub Issue and write the expected-vs-actual showcase from that real bug — don't substitute environment/setup notes or re-labeled negative-path tests for a genuine mismatch.

Tasks per Person

Chinmoy Das · 22f2000481

Product ManagerTester (primary)

Muktavali Rao · 23f1001172

Scrum MasterCode Reviewer (primary)

Aditya Kumar · 23f3004176

Backend DeveloperScrum Master (secondary)

S Ramakrishnan · 22f3000400

Frontend DeveloperBackend Developer (secondary)

Abhijay Sharma · 23f3002675

Tester (secondary)Code Reviewer (secondary)

Priority 1 — backfill the Sprint 1 gaps (carry-over items 1–4):

Priority 2 — the 3 new Sprint 2 endpoints:

Process, both priorities:

Kanban / Jira Task Cards (copy-paste ready)

One line = one card. In Jira: Backlog → + Create issue (or Bulk create), paste a block below, then set the Assignee once for the whole block. All cards start in To Do.

Chinmoy Das — assignee: Chinmoy · 6 cards

Confirm Sprint 2 scope with the team, including carried-forward items 1-5
Own test case tables for the 3 updated/added endpoints (full format)
Independently test the 3 new endpoints against demo users
Oversee Abhijay's backfilled Sprint 1 testing - verify it's genuinely new, not copied
Collect second round of user feedback once fixes are live
Compile Sprint 2 submission: YAML + backend code + tests + feedback summary + backfilled Sprint 1 evidence

Muktavali Rao — assignee: Muktavali · 3 cards

Run standups, keep sprint board updated
Primary code review on all Sprint 2 MRs + verify test coverage
Keep scrum minutes for the milestone document

Aditya Kumar — assignee: Aditya · 7 cards

Swagger-first YAML: manual complaint reassignment endpoint
Implement manual complaint reassignment endpoint
Swagger-first YAML + implement treasury ledger module (forecast opening balance)
Swagger-first YAML + implement pagination for /bills and /complaints
Basic pytest for all 3 new/changed endpoints
Verify docker-compose.yml against a live Docker daemon
[Stretch] Complaint routing upgrade: rule-based -> ML/LLM classifier (Story 6.7)

S Ramakrishnan — assignee: Ramakrishnan · 3 cards

Build 2 lean admin UI pages (society/flat/user onboarding)
Build simplified mobile-friendly gate interface for Security Guard
Wire frontend to new pagination + manual-reassignment endpoints

Abhijay Sharma — assignee: Abhijay · 10 cards

[P1] Write genuinely independent tests for the 8 existing Sprint 1 modules (not a copy of backend/tests/*.py)
[P1] Capture real pytest terminal screenshots for the original 199-test suite
[P1] File any real Sprint-1 bug found as a GitHub Issue + write a proper expected-vs-actual showcase
[P2] Write new pytest tests for the 3 changed/added endpoints (not a copy of existing suite)
[P2] Cross-test Aditya's 3 new endpoints independently
[P2] Update test case matrix with new cases (Case ID / Endpoint / Scenario / Inputs / Expected / Actual / Result)
[P2] Capture real pytest terminal screenshots for the 3 new endpoints
[P2] File any real bug found as a GitHub Issue + write expected-vs-actual showcase if found
Submit via feature branch + MR, linked to an Issue, reviewer tagged (Muktavali)
Secondary code review on Ramakrishnan's frontend MRs

Deadline & Scope Note

Target completion per the Milestone 3 report: 12 August 2026. Scope is deliberately narrow (3 backend changes, 2 frontend pieces) — resist pulling in the “Part 2 — Recommended” wishlist items (mobile OTP login, amenities booking, classifieds, audit logs, exports); those are flagged as new epics beyond the original 6, out of scope for this sprint.