Skip to content

Sprint 3

HlexNC edited this page Jun 18, 2025 · 10 revisions

title: Sprint 3 – Authentication & Production Release revision: v2.1 · 18 June 2025

Context
Sprint 2 delivered a containerized application with basic model training and prediction capabilities, but lacks authentication, complete model management, and several critical UI components. Sprint 3 completes the project by implementing authentication, fixing structural issues, and preparing the final deliverable.


1 · Sprint time-box & velocity

Role Member Allocation
Lead Dev / CI Lev @lm21363 30
Full-stack Dev Denisa @dv11079 15
Full-stack Dev Fares @fe18597 8
Full-stack Dev Huraira @ha06705 37
Full-stack Dev Kazi @kr09619 14
Back-end & ML Sameer @sk20179 27

Sprint window: 16 June → 4 July 2025 (3 weeks)
Sprint introduction: Friday, 20 June 2025


2 · Sprint Goal (definition of success)

Deliver a production-ready application that:

  1. Fixes critical structural issues: Model synchronization, complete input forms, and multi-model selection
  2. Implements full authentication: JWT-based signup/login with role-based access control (admin vs user)
  3. Meets all project requirements: Complete feature set as specified in Project Requirements document
  4. Passes quality gates: E2E test coverage, browser compatibility, and CI/CD pipeline
  5. Delivers presentation materials: Presentation slides for final submission

Week 1 Focus: Critical fixes and codebase stabilization
Weeks 2-3 Focus: Authentication implementation and presentation preparation


3 · Critical Issues (Week 1 Priority)

🚨 Epic A: Model Management Synchronization

Problem: Models exist as pickle files in model service but aren't visible in admin console due to backend-model service disconnect.

🚨 Epic B: Complete Calculator Input Form

Problem: Missing fare (0-500$) and title (Master, Miss, Mr, Mrs, Rare) inputs in survival calculator.

🚨 Epic C: Multi-Model Selection & Prediction

Problem: No model selection UI; professor requires ability to run multiple models in single prediction call.


4 · Work breakdown structure

🔥 WEEK 1: Critical Fixes (June 16-22)

Epic A: Model Management Synchronization [CRITICAL]

ID Task Owner Est h Acceptance Criteria
A1 fix/model-metadata-persistence Huraira 6 Model training saves features used and model ID to database; backend correctly displays all models with their actual features.
A2 fix/backend-model-service-sync Huraira 6 Backend queries model service /models endpoint; admin console shows all trained models including defaults (rf, svm, lr, knn).

Epic B: Complete Calculator Input Form [CRITICAL]

ID Task Owner Est h Acceptance Criteria
B1 feat/backend-accept-fare-title Kazi 4 Backend prediction endpoint accepts fare and title; allows missing fields for features not used by selected models.
B2 feat/fare-input-component Sameer 4 Add fare input (0-500$) to calculator form with validation.
B3 feat/title-input-component Sameer 6 Add title dropdown (Master, Miss, Mr, Mrs, Rare) to calculator.

Epic C: Multi-Model Selection & Prediction [CRITICAL]

ID Task Owner Est h Acceptance Criteria
C1 fix/anonymous-model-filtering Huraira 3 Backend /models endpoint returns only RF/SVM for anonymous users; all models for authenticated users.
C2 feat/multi-model-prediction-backend Huraira 8 Backend accepts array of model IDs; returns prediction results for each selected model.
C3 feat/model-selection-ui Huraira 6 Model selection checkboxes in calculator; enforces anonymous user restrictions in UI.
C4 feat/multi-model-results-display Huraira 4 Frontend displays prediction results for each selected model in organized layout.

Epic D: Essential Enhancements [WEEK 1 SECONDARY]

ID Task Owner Est h Acceptance Criteria
D1 refactor/frontend-component-cleanup Denisa 6 Consolidate duplicate components; improve TypeScript types; mobile responsiveness fixes.
D2 refactor/backend-error-handling Fares 4 Standardize error responses; improve validation messages; add request correlation IDs.
D3 feat/per-user-prediction-history Denisa 5 Prediction history filtered by logged-in user; anonymous users see no history.
D4 feat/calculator-prefill-randomize Denisa 4 Add "Randomize" button to prefill form with example values; set sensible defaults.
D5 test/model-service-integration Kazi 6 Comprehensive integration tests for model training/inference endpoints.
D6 feat/model-data-preprocessing Sameer 6 Ensure model service preprocessing matches original notebook exactly.
D7 feat/field-relevance-highlighting Sameer 5 Calculator highlights which fields are used by selected models.

🔐 WEEKS 2-3: Authentication & Finalization (June 23 - July 4)

Epic E: Authentication System

ID Task Owner Est h Acceptance Criteria
E1 feat/jwt-refresh-tokens Lev 6 Implement refresh token endpoint; auto-refresh in frontend AuthContext.
E2 feat/httponly-cookie-auth Lev 6 Store JWT in HttpOnly cookies; update all auth flows to use secure cookies.
E3 feat/configurable-admin-user Lev 4 Backend creates admin user on startup from environment variables.
E4 fix/admin-route-protection Huraira 4 Verify admin console and model management properly restricted to admin users.

Epic F: Quality Assurance

ID Task Owner Est h Acceptance Criteria
F1 test/e2e-authentication-flow Lev 8 Playwright tests covering signup → login → predict → admin workflows.
F2 test/cross-browser-compatibility Kazi 4 Verify functionality on Chrome ≥119, Firefox ≥122, Safari ≥16.1.
F3 test/manual-deployment-verify Lev 4 Document manual testing on Ubuntu 24.04 VM; create deployment checklist.

Epic G: Presentation & Documentation

ID Task Owner Est h Acceptance Criteria
G1 docs/presentation-slides Alex 8 10-15 slides covering architecture, features, individual contributions; professional design.
G2 docs/final-documentation-update Sameer 6 Complete README files; deployment instructions; architecture diagrams; feature documentation.
G3 docs/individual-contribution-slides ALL 2×6 Each team member creates personal contribution slide for presentation.
G4 docs/submission-preparation Fares 4 Prepare ZIP archive with all required components; verify submission checklist.

Total planned effort = 125 h (within capacity 126 h).


5 · Project Requirements Compliance Checklist

Functional Requirements Status

✅ Completed

  • Landing page with navigation
  • Basic survival calculator (partial)
  • Admin model training and deletion
  • Prediction history for logged users
  • User registration with email/password (pending merge)
  • User login with authentication (pending merge)
  • Role-based access control (pending merge)

🔧 In Progress (Week 1)

  • Complete passenger definition: Add fare (0-500$) and title inputs
  • Model selection: Anonymous (RF/SVM only) vs Logged users (any combination)
  • Continuous prediction updates: Real-time updates on input change
  • Optional fields: Allow missing inputs for features not used by selected models

Non-Functional Requirements Status

✅ Infrastructure Completed

  • Docker containerization
  • FastAPI backend
  • React frontend with TypeScript
  • GitLab CI/CD pipeline
  • Docker Compose orchestration
  • E2E test configuration (Playwright)

🔧 In Progress

  • E2E Tests: Complete test coverage implementation
  • Browser Compatibility: Chrome ≥119, Firefox ≥122, Safari ≥16.1
  • Mobile Optimization: Complete responsive design

6 · Weekly Focus Areas

Week 1 (June 16-22): 🔥 Critical Fixes

Primary Owners: Huraira, Kazi
Support: Fares, Denisa, Sameer, Lev

Must Complete:

  • Model synchronization with proper feature tracking
  • Complete calculator form (fare + title inputs)
  • Multi-model selection with role-based filtering
  • Backend accepting optional fields

Secondary Tasks:

  • Per-user history filtering
  • Form prefill/randomize functionality
  • Field relevance highlighting

Week 2 (June 23-29): 🔐 Authentication Polish

Primary Owners: Lev, Kazi, Huraira
Support: Others on testing and documentation

Must Complete:

  • Merge existing authentication implementation
  • JWT refresh tokens
  • HttpOnly cookie implementation
  • Configurable admin user creation

Week 3 (June 30 - July 4): 📋 Finalization

All Team Members

Must Complete:

  • E2E test suite completion
  • Browser compatibility verification
  • Presentation slides
  • Final documentation and deployment verification

7 · Definition of Done (Final Release)

Area Completion Criteria
Functionality All Project Requirements implemented; calculator accepts all inputs with optional fields; multi-model prediction working
Authentication Complete signup/login flow; admin routes protected; JWT in HttpOnly cookies; refresh tokens working
Quality E2E tests covering main user journeys; cross-browser compatibility verified
Deployment Single-command deployment (docker compose up --build -d) on clean Ubuntu 24.04
Documentation Complete README files; presentation slides ready
Presentation 10-15 slides; individual contribution slides

8 · Risk Management

Risk Impact Mitigation
Week 1 critical fixes not completed High Daily standups; pair programming; focus on must-have features only
Authentication integration issues Medium Early merge of existing PR; incremental improvements
E2E test implementation delays Medium Focus on core user journeys; manual testing as backup
Browser compatibility issues Low Test early in Week 3; document known issues if any

9 · Sprint Ceremonies

  • Daily Standups: Mon/Wed/Fri 16:00 CEST (15 min)
  • Sprint Introduction: Wed 18 June 16:00 CEST (Sprint 3 kickoff)
  • Mid-sprint Review: Fri 27 June 16:00 CEST (Authentication checkpoint)
  • Final presentation: Fri 4 July 16:00 CEST (Showcase all features)
  • Project Retrospective: Sun 6 July 15:00 CEST (Project closure)

Merge Policy: ≥1 peer review + green CI + linked issue + conventional commits


10 · Success Metrics

Technical Metrics

  • All 3 critical epics (A, B, C) completed by June 22
  • Authentication system fully functional by June 29
  • E2E test coverage of main user flows
  • Zero-config deployment working on fresh Ubuntu 24.04

Project Metrics

  • Presentation slides completed (10-15 slides)
  • All team members have individual contribution slides
  • Final ZIP submission includes all required components

Quality Metrics

  • Cross-browser compatibility verified
  • Mobile responsiveness working
  • All Project Requirements checklist items completed
  • Documentation updated and accurate

11 · Final Deliverables

Technical Deliverables:

  1. Complete Titanic Survivor Prediction Application
  2. Docker Compose deployment configuration
  3. Source code with Git repositories
  4. Comprehensive documentation

Presentation Deliverables:

  1. Presentation slides (10-15 slides)
  2. Individual contribution slides (6 slides)
  3. Architecture overview and technical highlights

Submission Package:

  • ZIP archive with all source code
  • README with build/run instructions
  • PDF of team presentation
  • All Git repositories as required

Final sprint prepared by team/random_iceberg · Sprint 3 begins 16 June 2025

Clone this wiki locally