Collaboration - WSU-4110/FindMySpot GitHub Wiki

Overview of Collaboration

Collaboration was a key component of the FindMySpot project, with all team members actively contributing to the development of a fully integrated system. The project was divided into major components, allowing members to work in parallel while still contributing to a unified application. The main areas of work included:

  • Frontend development
  • Backend development
  • AI integration
  • Database and system structure
  • Documentation and testing
  • Notifications and system logic

This structure ensured that responsibilities were clearly distributed while maintaining strong collaboration across all parts of the system.

Collaboration was facilitated through GitHub, where team members contributed code, updated features, and integrated changes across different parts of the system. The project includes contributions across multiple files and modules, demonstrating active participation from all team members.

The implementation of the Observer design pattern in parking_observer.py further demonstrates collaborative system design. This pattern separates functionality into multiple observers, including database updates, user notifications, and dashboard updates, allowing different team members to work on separate features while maintaining system integration.

Collaboration is also evident in the integration between system components. The AI detection system communicates with the backend by sending structured data such as license plate number, floor, lot, and confidence level. The frontend interacts with backend APIs to retrieve and display vehicle information. This required coordination between team members working on different layers of the system to ensure compatibility and correct data flow.

Additionally, the testing script demonstrates collaborative integration by validating workflows that span multiple components, including authentication, vehicle management, detection, and notifications. This confirms that all parts of the system were developed and integrated successfully as a team.

Division of Work by System Components

  • Frontend Development β†’ Mirza, Tristan
  • Backend Development β†’ Varun, Tristan, Asmita
  • Database & System Structure β†’ Asmita, Jennifer, Varun, Tristan
  • AI Integration β†’ Jennifer
  • Documentation & Testing β†’ Mirza
  • Notifications & System Logic β†’ Asmita

Project Responsibilities Breakdown

    • Features β†’ Asmita
    • Software Design β†’ Jennifer
    • Unit Testing β†’ Mirza
    • Code Review β†’ Tristan
    • Coding Convention β†’ Varun
    • Bug Management β†’ Asmita, Tristan, Mirza, Varun
    • Documentation β†’ Mirza
    • Product Backlogs β†’ Tristan
    • Sprint Planning β†’ Varun
    • Collaboration Tracking β†’ Mirza
    • Scrum Meetings β†’ Jennifer
    • Sprint Retrospective β†’ Asmita

How Work Was Divided

The team followed a structured workflow that allowed members to work both independently and collaboratively. Parallel Development

    • Team members worked on different components of the system simultaneously
    • Responsibilities were divided across frontend, backend, database, and testing

Assignment vs Project Work Split

At various stages:

    • Some members focused on group assignments
    • Others continued working on the core project development After completing tasks:
    • The team came together to review and revise each other’s work

Team-Based Revisions

  • Work was consistently shared among team members
  • Revisions were made collaboratively to:
    • Improve quality
    • Ensure consistency
    • Align with project requirements

Integration & Collaboration

Although responsibilities were divided, all components were developed with integration in mind. Team members continuously communicated and coordinated to ensure that all parts of the system worked together smoothly. GitHub was used as the primary collaboration platform, where team members:

  • Contributed code across different branches
  • Performed code reviews
  • Managed updates and integration of features

Summary

The FindMySpot project demonstrates strong collaboration through:

  • Clear division of responsibilities across system components
  • Active participation from all team members
  • A balance between independent work and group collaboration
  • Continuous revisions and team feedback

Overall, the team worked cohesively to develop a complete, functional application while successfully managing both technical development and course requirements.