Skip to content

Iteration 4 (Release 1)

Choose a tag to compare

@Niravanaa Niravanaa released this 11 Nov 04:33
· 666 commits to main since this release
b182cac

Release Date: November 10, 2025

🎯 Overall Summary

Iteration 4 represents the culmination of Release 1, delivering comprehensive scenario management capabilities, end-to-end testing infrastructure, AWS deployment, and advanced simulation control features. This release implements complete CRUD operations for scenarios, Playwright E2E testing framework, user-specific dashboards, task scheduling, and WebSocket-based real-time simulation. The iteration successfully closed 61 out of 68 issues (90% completion rate) with all planned story points completed.

🏎️ Velocity

image

For the fourth iteration, we planned and successfully completed the following:

  • ✅ US-9: Create Scenario - Complete
    • Scenario database model (PR: #267)
    • Scenario CRUD operations (PRs: #277, #286)
    • Scenario Pydantic schemas (PR: #203)
    • Scenario validation logic (PR: #292)
  • ✅ US-10: Save Scenario - Complete
    • Save scenario endpoint (PR: #287)
    • Update edited scenarios (PR: #310)
  • ✅ US-11: Load a Saved Scenario - Complete
    • Get scenario by ID endpoint (PR: #283)
    • List saved scenarios endpoint (PR: #289)
    • Initialize simulation with scenario (PR: #311)
  • ✅ US-8: Dispatch Battery Swap Task to a Resource - Complete
    • Task and Resource Scheduler (PR: #261)
    • Assign task to resource on map (PR #312)
    • Assign task to resource in resource bar (PR #312)
    • Unassign task from a resource (PR #312)
    • Reassign task to a new resource (PR #312)
  • ✅ US-12: Export Scenario (PR: #272)
  • ✅ US-13: Import Scenario (PR: #310)
  • ✅ US-7: Separation of Users - Complete (PR: #281)
  • ✅ Simulation pause and resume components (PR: #39)
  • ✅ Speed alteration control components (PRs: #324, #38)
  • ✅ E2E testing framework setup (PRs: #271, #278, #326)
  • ✅ AWS deployment implementation (PR: #274)
  • ✅ Frontend logging infrastructure (PRs: #266, #276)
  • ✅ Feature toggles (PR: #282)
  • ✅ Task and resource scheduler (PR: #261)
  • ✅ User management dashboard (PRs: #260, #262)

For the fourth iteration, we were able to get the following done early or as additional work:

  • 🌱 WebSocket simulation with authentication (PR: #314)
  • 🌱 Migration validation scripts (PR: #270)
  • 🌱 Comprehensive error handling utilities
  • 🌱 Python dependency caching in CI
  • 🌱 Refactored sim folder structure
  • 🌱 Diversity statement on website

💵 Contractor Estimate

Artifact Type Level of Effort Estimated Price (CAD)
Backend Scenario Management & APIs High (70h) $1,540
Frontend Scenario Editor & Dashboard High (60h) $1,320
E2E Testing Framework & Infrastructure High (45h) $990
Simulator Task Scheduling & WebSocket Medium (40h) $880
AWS Deployment & Infrastructure Medium (30h) $660
User Management Dashboard Medium (25h) $550
Bug Fixes & Documentation Low (10h) $220
Total 280h $6,160

Notes:

  • Hourly rate: $22/hr (average co-op software engineering rate from Concordia — source).
  • Total hours for artifact development: 70 + 60 + 45 + 40 + 30 + 25 + 10 = 280h.
  • Total cost calculation: 280h × $22/hr = $6,160 CAD.
  • The hours above represent only the time specifically spent on developing the listed software artifacts — not the total effort from all contributors during Iteration 4.

🔄 Retrospective

Category Feedback
What went well? • Got a lot done
• Frontend map entities are finally driven by sim diff frames
• Bugs were found in code and addressed in the same day
• Good inter-team debugging
• Instructions to deploy to AWS works, hope to get CSSE follow-up soon
• Insane late night debugging sessions and cross subsystem collaboration when it mattered most
• Good collaboration between different members/teams which is awesome
What went wrong? • Left integration of all 3 subsystems to the end of R1
• A bit too much crunch time at the end, not healthy
• A lot done last minute
• Unexpected bugs slowed down implementation
• Members sick/sleep deprived from last minute work
• Sim team had a slow start for the release overall which led to non-alignment of the codebase parts
• Feel like we don't have enough domain specific features
Improvements • Automating ATs is not realistic at the moment, unsure if simulation E2E should even be automated
• Should try to plan for future iterations more ahead of time
• Have stakeholder be more involved in user story creation now that they can use the tool to some degree
• Should assign non-code related tasks (docs, diagrams) a bit earlier
• Some future design meetings could involve all sub-teams to know exactly what input/outputs are being expected

📋 Contributions by Individuals

@Niravanaa - Nirav Patel [ID: 40248940]

  • Backend: Scenario Editor API in #287

    • Implemented scenario editor API endpoints
    • Added scenario content management
    • Integrated JSON schema validation
  • Backend: Complete scenario CRUD API in #286

    • Completed all CRUD operations for scenarios
    • Added comprehensive API endpoints
    • Implemented proper authorization checks
  • Backend: Scenario content validation endpoint in #309

    • Implemented scenario validation logic
    • Added content validation endpoint
    • Ensured scenario integrity checks
  • Backend: Update scenario task time handling in #315

    • Updated task time handling in scenarios
    • Improved temporal logic
    • Fixed timing edge cases
  • Testing: Add E2E testing workflow for Playwright in #278

    • Added Playwright E2E testing to CI
    • Configured automated test execution
    • Integrated with GitHub Actions
  • Testing: User management tests and CI caching in #320

    • Implemented comprehensive user management tests
    • Added Python dependency caching in CI
    • Improved CI workflow performance
  • Backend: Implement pagination for simulation listings in #275

    • Added pagination to user and admin simulation listings
    • Included metadata in responses
    • Improved API scalability
  • Backend: Frontend logging API in #266

    • Implemented frontend logging endpoint
    • Added log persistence backend
    • Enabled client-side error tracking
  • DevOps: Migration validation scripts in #270

    • Added database migration validation
    • Implemented migration history checks
    • Ensured migration integrity in CI
  • Bug Fixes:

    • Fixed deprecation warnings handling in #308
    • Updated test script for pytest in #305
    • Added pandana to mypy overrides in #297
    • Updated web server configuration in #288

@Verdone - Giuliano Verdone [ID: 40252190]

  • Backend: Initialize simulation with scenario in #311

    • Implemented scenario loading on simulation start
    • Integrated scenario data with simulation engine
    • Added proper initialization flow
  • Backend: GET Scenarios API endpoints in #283

    • Implemented scenario retrieval endpoints
    • Added filtering and querying capabilities
    • Ensured proper authorization
  • Backend: Consolidate sim playback endpoints in #291

    • Refactored playback speed endpoints
    • Consolidated simulation control APIs
    • Improved API consistency
  • Backend: Direct sim-instance routing in #268

    • Refactored routes to sim-instance scope
    • Improved routing architecture
    • Enhanced API organization
  • Backend: Add sim_instance FKs to models in #244

    • Added foreign keys for sim instance relationships
    • Updated database models
    • Improved data integrity
  • Bug Fixes:

    • Fixed WebSocket auth support in #306
  • Docs: Wiki contributions in Repo Wiki

    • Updated Testing Plan and Continuous Integration
    • Updated Overall Architecture and Class Diagrams (3)
    • Updated Budget
    • Added Release 1 user manual
    • Updated VeloSim Release 1 User Manual (2)
    • Updated Deployment Plan and Infrastructure
    • Updated Meeting Minutes - Backend (5)
    • Updated Legal and Ethical issues
    • Updated Missing knowledge and Independent Learning (4)
    • Updated Diversity statement
    • Updated Name Conventions
    • List of Revisions: 1 | 2 | 3 | 4 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20
  • Docs: Diversity statement in #321

    • Added diversity statement to website
    • Enhanced project documentation
  • Contributed to composing the User Guide for Release 1

  • Created the user feedback form for Release 1

@mahutt - Thomas Mahut [ID: 40249811]

  • Frontend: User specific simulation dashboard in #281

    • Created user-specific dashboard interface
    • Implemented simulation listing for users
    • Added personalized simulation management
  • Frontend: Speed alteration to simulation screen in #324

    • Added speed control components
    • Implemented playback speed adjustment
    • Integrated with simulation API
  • Backend: Frontend log persistence utility in #276

    • Added backend utility for frontend logs
    • Implemented log storage mechanism
    • Enabled centralized logging
  • Frontend: User management features in #262 & #260

    • Added admin role management actions
    • Enabled user creation from dashboard
    • Implemented role change functionality
  • Frontend: User-friendly error handling in #259

    • Implemented comprehensive error handling
    • Added user-friendly error messages
    • Improved UX for error states
  • Security: Fix frontend vulnerabilities in #256

    • Fixed security vulnerabilities in dependencies
    • Updated packages to secure versions
  • Docs: Wiki contributions in Repo Wiki

@CarciDev - David Carciente [ID: 40247907]

  • Sim: Task and Resource Scheduler in #261

    • Implemented task scheduling logic
    • Added resource allocation algorithm
    • Integrated with simulation engine
  • Sim: Exposing simulation speed methods in #280

    • Exposed speed control methods
    • Added API for simulation speed adjustment
    • Enabled real-time speed changes
  • Sim: Refactoring sim folders in #325

    • Reorganized simulation folder structure
    • Improved code organization
    • Enhanced maintainability
  • Bug Fixes:

    • Fixed reversed points on path in #317
  • Docs: Wiki contributions in Repo Wiki

    • Updated Performance (3)
    • Updated Missing knowledge and Independent Learning (4)
    • List of Revisions: 1 | 2 | 3 | 4 | 5 | 6 | 7

@Jpuntul - Jutipong Puntuleng [ID: 40080233]

  • Frontend: WebSocket simulation with authentication in #314

    • Implemented WebSocket-based real-time simulation
    • Added authentication to WebSocket connections
    • Integrated simulation initialization
  • Frontend: Integrate save edit import delete function in #310

    • Integrated all scenario CRUD operations
    • Connected save, edit, import, and delete functions
    • Unified scenario management interface
  • Frontend: Scenario sidebar and content integration in #289

    • Integrated scenario sidebar with backend
    • Connected scenario content display
    • Implemented dynamic scenario loading
  • Frontend: Export scenario button in #272

    • Created export functionality
    • Implemented scenario download
    • Added JSON export format
  • Frontend: Error handling for state inconsistencies in #264

    • Added error handling utilities
    • Implemented state inconsistency detection
    • Improved error recovery
  • Frontend: Empty state disclaimer in #257

    • Added empty state messaging
    • Improved UX for empty resources bar
  • Docs: Wiki contributions in Repo Wiki

    • Updated Name Conventions
    • List of Revisions: 1

@Michael-Mezzacappa - Michael Mezzacappa [ID: 40225782]

  • Backend: Scenario validation logic with test suites in #292

    • Implemented comprehensive scenario validation
    • Added test suites for validation logic
    • Ensured scenario data integrity
  • Backend: Scenario CRUD operations in #277

    • Created scenario CRUD operations
    • Implemented database queries
    • Added error handling
  • Backend: Scenario database model in #267

    • Created scenario database schema
    • Defined model relationships
    • Added proper constraints
  • Docs: Wiki contributions in Repo Wiki

    • Updated Overall Architecture and Class Diagrams (3)
    • Updated _Sidebar
    • Updated Logging
    • List of Revisions: 1 | 2 | 3 | 4 | 5

@vinishamanek - Vinisha Manek [ID: 40229456]

  • Testing: Playwright E2E testing framework in #271

    • Set up Playwright testing infrastructure
    • Configured E2E test environment
    • Added initial test examples
  • Frontend: Feature toggles in #282

    • Implemented feature flag system
    • Added toggle configuration
    • Enabled gradual feature rollout
  • Frontend: Task assignment operations in #312

    • Implemented assign/unassign/reassign task operations
    • Integrated with backend API endpoints
    • Added task assignment banner and UI controls
    • Enabled task drag-and-drop feature flag
  • Docs: Wiki contributions in Repo Wiki

    • Updated Overall Architecture and Class Diagrams (3)
    • Updated _Sidebar (3)
    • Updated Missing knowledge and Independent Learning (3)
    • Updated Glossary (2)
    • Updated Risks
    • Updated Economics
    • Create Mockups wiki
    • List of Revisions: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14

@MeSumo - Sumer Abd Alla [ID: 40247712]

  • Testing: E2E tests for scenario management in #326

    • Created comprehensive E2E tests
    • Tested scenario CRUD workflows
    • Validated scenario management functionality
  • Bug Fix:

    • Investigated and found reason for changes to entities affecting others in different sims #239
  • Docs: Wiki contributions in Repo Wiki

    • Updated _Sidebar (2)
    • Updated Infrastructure and Tools (2)
    • Updated Meeting Minutes - General (3)
    • Updated Testing Plan and Continuous Integration (2)
    • Updated Diversity statement
    • Updated Risks
    • Updated Missing Knowledge and Independent Learning
    • Updated Economic
    • Updated Meeting Minutes - Simulation
    • List of Revisions: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14
  • Contributed to composing the User Guide for Release 1

  • Created the user feedback form for Release 1

@Ambrose821 - Ambrose McLaughlin [ID: 40239754]

  • Sim: Create sim behaviour interface in #273

    • Created behaviour interface for simulation
    • Defined behaviour contracts
    • Improved simulation architecture
  • Bug Fixes:

    • Fixed sim entities run method in #301
    • Fixed sim instances sharing Environment in #295
  • Docs: Wiki contributions in Repo Wiki

    • Updated Overall Architecture and Class Diagrams
    • Updated Performance
    • List of Revisions: 1 | 2

@cmezzac - Christopher Mezzacappa [ID: 40229584]

  • Backend: Utilities for scenario config parsing in #298 & #285

    • Created scenario config parsing utilities
    • Implemented JSON parsing helpers
    • Added validation utilities
  • Backend: Scenario JSON Schema in #248

    • Defined JSON schema for scenarios
    • Created schema validation
    • Documented schema structure
  • Docs: Wiki contributions in Repo Wiki

    • Updated Risks (2)
    • List of Revisions: 1 | 2

@briantkatch - Brian Tkatch [ID: 40191139]

  • Infrastructure: AWS deployment in #274

    • Implemented AWS deployment infrastructure
    • Configured cloud resources
    • Set up deployment pipeline
  • Docs: Wiki contributions in Repo Wiki

    • Updated Logging (2)
    • Updated Deployment Plan and Infrastructure
    • List of Revisions: 1 | 2 | 3

What's Changed

Full Changelog: Iteration3...Iteration4