Skip to content

MVP Milestone Report – Document 2

Alper Kartkaya edited this page May 16, 2026 · 1 revision

MVP Milestone Report – Document 2

D6 – Milestone Review

D6.1 Project Status

Summary and Decisions

At the end of the MVP milestone, the project reached a functional MVP state with partially implemented core features.

The following functionalities were implemented:

  • User authentication (sign up / sign in)
  • Guest and authenticated user flows
  • Help request creation
  • Volunteer availability
  • Basic matching logic

However, several core aspects remained incomplete:

  • Authentication and help request flows are not fully stable
  • Location-based matching is not implemented; location is currently hardcoded on the frontend
  • Share location functionality, required for dynamic matching, is missing

During the MVP process, the team focused on implementing core features; however, due to time and integration constraints, some of these features remained partially complete.

The team also decided to:

  • Move towards a more full-stack-oriented workflow instead of strict frontend/backend separation
  • Improve communication between team members to reduce integration issues
  • Focus more on user experience improvements in the next milestone

Summary of Feedback and Reflections

Feedback from the demo and internal evaluation showed that basic flows are working but not fully consistent.

Strengths:

  • Core flows (authentication, request creation, availability) are partially functional
  • The system structure allows further improvement

Weaknesses:

  • Some features rely on hardcoded data instead of backend integration
  • Missing location-based functionality affects matching accuracy
  • User experience and UI consistency need improvement

Additionally, the demo presentation was not as clear as expected, which made it harder to effectively communicate the system’s functionality. This highlighted the importance of clearer presentation structure and better demonstration planning.

From this, the team learned that:

  • Better integration between frontend and backend is necessary
  • Communication within the team needs to be improved
  • More attention should be given to user experience in future iterations
  • Clearer and more structured presentations are needed to effectively demonstrate system capabilities

D6.2 Deliverables

List and Status of Deliverables

  • Web interface for core user flows — Completed
  • Android application for basic user interactions — Completed
  • Backend API for authentication, help requests, and availability — Completed
  • Matching logic between requests and volunteers — In Progress
  • Frontend–backend integration — In Progress
  • Testing activities (automated backend tests and manual cross-platform testing) — Completed
  • Documentation and wiki updates — Completed → API specification and usage examples: API Documentation
    → UX design and user flow decisions: UX Design Documentation

Reflection

Most deliverables were completed at a basic functional level, allowing the system to demonstrate its main features during the MVP phase.

Core components such as authentication, help request creation, and availability flows were implemented and usable. However, some deliverables were only partially completed:

  • Matching logic was implemented but does not include location-based matching
  • Some frontend components still use hardcoded data instead of full backend integration

Testing was performed across backend, web, and mobile components, mainly through manual testing, focusing on core user flows and common usage scenarios.

These limitations were mainly due to time constraints and integration challenges between different parts of the system.

From this, the team learned that:

  • Earlier and tighter integration between frontend and backend is necessary
  • Testing should be incorporated earlier in the development process
  • Focusing on fewer but more stable deliverables leads to better overall results

D6.3 Requirements

The following requirements were addressed during the MVP milestone based on the implemented system functionalities.

Addressed Requirements

  • 1.1.2.1 Users shall be able to sign up by providing their email address and creating a password

  • 1.1.2.2 Users shall be required to verify their email address before activating their account

  • 1.1.2.3 Users shall be able to provide their full name during registration

  • 1.1.2.4 Users shall be able to provide their phone number during registration

  • 1.1.2.5 Users shall be required to accept the terms and conditions

  • 1.1.1.1 Users shall be able to specify their profession or area of expertise

  • 1.1.1.5 Users shall be able to update their expertise information

  • 1.1.4.5 Users shall be able to enter their blood type

  • 1.1.4.6 Users shall be able to update their health information

  • 1.1.5.1 Users shall be able to provide their country and city

  • 1.1.5.3 Users shall be able to update their location

  • 1.2.1.1 Users shall be able to declare availability

  • 1.2.1.2 Users shall be able to deactivate availability

  • 1.2.2.4 Users shall be able to choose their need type when creating their help request

  • 1.2.2.5 Users shall be able to enter a short description for their help request

  • 1.2.2.6 The system shall warn users when critical request information is missing

  • 1.2.3.1 The system shall evaluate help requests for assignment

  • 1.2.3.4 The system shall display the request status (basic status display is available)

  • 1.2.3.5 Users shall be able to cancel an assignment

  • 1.2.3.6 Users shall be able to mark requests as resolved

  • 1.2.4.1 Users shall be able to view help request details

  • 1.2.4.5 Users shall be able to view their own requests and track status

  • 1.2.4.4 Users shall be able to view assigned helper information

  • 1.3.1.1 The web portal shall provide a public landing page

  • 1.3.1.2 The web portal shall provide emergency contact numbers

  • 1.3.1.4 The web portal shall allow users to view news and announcements related to emergencies and preparedness

  • 1.3.2.1 Users shall be able to log in through the web portal

Partially Addressed Requirements

  • 1.1.5.2 Users shall be able to share their current location (only manual input exists)

  • 1.2.3.2 The system shall assign requests based on skills and other factors (matching is simplified and does not include location-based matching)

D6.4 Testing

D6.4.1 Test Plan & Strategy

During the MVP milestone, the testing strategy combined automated backend testing with manual testing of core user flows.

For the backend, automated unit and integration tests were implemented and executed through the CI pipeline. These tests focused on validating API endpoints, authentication logic, and core help request and assignment functionalities to ensure correctness and stability of backend operations.

For the web and mobile applications, manual end-to-end testing was conducted. The team tested key user flows including sign up, login, guest usage, help request creation, availability toggling, and matching behavior. These tests were performed iteratively during development to verify correct integration with backend services and to ensure expected system behavior.

Testing was primarily focused on validating core functionality and user flows required for the MVP. While multiple scenarios were tested, the process did not aim for exhaustive edge case coverage, but rather for ensuring that the main features work reliably for demonstration and basic usage.

D6.4.2 Test Execution Reports

Generated unit test reports covering all implementation layers (back-end, front-end, and mobile) are documented in the project wiki: Unit Test Reports

The report includes detailed execution results, test coverage summaries, and current testing status for each layer.

The workflow configuration can be found here:
https://github.com/bounswe/bounswe2026group6/blob/main/.github/workflows/backend-ci.yml

  • Front-end: No automated unit test suite is currently configured; validation is based on manual testing of core user flows.

  • Mobile: No automated unit test suite is currently implemented; validation is based on manual testing of core user flows.

D6.4.3 Impact Analysis

Coverage:

Testing covered the core MVP functionalities, including authentication (login, signup, guest flow), profile management, help request creation, availability toggling, assignment and matching flows.

Backend API endpoints were tested through automated unit and integration tests, while frontend (web and mobile) testing focused on manual end-to-end validation of major user interactions and system behavior.

Although core flows were thoroughly tested, some edge cases and less common scenarios remain outside the current test coverage.

Bug Detection:
  1. UI and usability issues were identified, including non-scrollable pages, inconsistent navigation, and missing UI elements (e.g., guest access option, duplicated profile access). These were resolved through follow-up fixes.

  2. Integration issues between frontend and backend were detected, such as missing pre-filled user data (blood type, date of birth), incorrect address handling, and incomplete profile display. These were fixed to ensure proper data synchronization.

Readiness:

Based on testing results, the system is considered ready for MVP demonstration, with all core functionalities working correctly.

However, the system is not fully production-ready due to remaining limitations such as incomplete location-based matching, previously identified UI inconsistencies, and lack of comprehensive edge case testing. These areas are planned to be improved in the final milestone to enhance robustness and user experience.

Overall, the system is functionally sufficient for MVP demonstration; however, further refinement is required to achieve production-level reliability.

D6.5 Planning and Team Process

During the MVP milestone, the team followed an issue- and pull request-based workflow using GitHub for task tracking and collaboration. Tasks were distributed among frontend, backend, and DevOps responsibilities, and progress was managed through issues and milestone planning.

The development process involved parallel work across different components, with integration happening continuously. However, it was observed that frontend–backend integration required more coordination than initially expected. Some inconsistencies and delays occurred due to communication gaps between team members working on different parts of the system.

Blockers that emerged during development, especially integration-related issues, were resolved through team discussions and follow-up fixes. The team adapted by improving coordination and addressing issues iteratively.

Evaluation:

Strengths:

  • Clear use of GitHub issues and pull requests for tracking progress
  • Active contribution from all team members
  • Effective use of code reviews during pull request processes
  • Ability to identify and fix issues through iterative development and testing

Challenges:

  • Communication between frontend and backend teams was not always sufficient
  • Some features were developed in isolation, leading to integration issues
  • UI consistency and user experience required additional refinement

Improvements for Next Milestone:

  • Increasing communication frequency and coordination within the team
  • Adopting a more full-stack-oriented approach instead of strict frontend/backend separation
  • Focusing more on user experience and consistency across all screens
  • Planning integration and testing earlier in the development process

Evidence:

D7 – Individual Contributions

Kağan Can (DevOps & Frontend)

1. Responsibilities:

  • DevOps setup and project environment configuration
  • CI/CD pipeline, build workflow, and deployment support
  • Frontend infrastructure, reusable UI component support, and integration tasks
  • Repository structure, setup standardization, and project configuration management

2. Main Contributions:

  • Contributed to frontend–backend integration for authentication and profile related flows
  • Integrated backend endpoints into Android flows, including signup and complete-profile processes
  • Contributed to frontend infrastructure by defining UI rules, organizing style directories, and supporting reusable component structure
  • Supported DevOps processes through Dockerization, setup standardization, and Android APK build workflow preparation
  • Improved project maintainability through setup files, README updates, and environment/configuration standardization across team members

3. Significant Issues:

Code-Related:

  • #70: Dockerized the project to standardize development and deployment environments
  • #76: Developed shared UI components and contributed to frontend documentation
  • #79: Implemented shared component structure for Android to improve UI reusability

Non-Code-Related:

  • #78: Prepared frontend rules documentation
  • #38: Creating a Use Case Diagram for Scenario 1
  • #37: Writing Lab 3 Report

4. Pull Requests:

  • #224: Set up Android APK creation workflow to improve build and release automation
  • #191: Ensured backend integration and improved frontend consistency during MVP stabilization
  • #174: Integrated backend with Android and reorganized signup and complete-profile flows
  • #164: Connected frontend authentication and profile flows to backend endpoints
  • #100: Added shared Android components to improve UI consistency and reusability
  • #242: Created setup file and updated repository README to improve onboarding and project setup

Conflict Resolution:

  • Assisted in resolving environment, integration, and configuration conflicts across frontend, Android, and backend workflows during MVP development

5. Additional Information:

  • Contributed to both infrastructure and product-facing implementation, not only setup-related tasks
  • Helped improve integration stability between frontend, Android, and backend components during the MVP phase
  • Supported the team through DevOps, setup, release preparation, UI structure, and cross-component integration work

Ethem Erinç Cengiz (Frontend Team)

1. Responsibilities:

  • Frontend development with ownership of core user-facing features
  • Implementation of authentication flows across web and mobile platforms
  • Design and development of navigation structure and user flows
  • Development of core UI pages and layout components
  • Ensuring consistency and usability across frontend interfaces

2. Main Contributions:

  • Worked on authentication flows for both web and Android platforms, including UI and interaction logic
  • Designed and developed core navigation structure, including guest and authenticated user flows
  • Built key frontend pages such as home, news, emergency numbers, and legal pages
  • Improved user experience by refining navigation behavior, active state handling, and verify-email flows
  • Contributed to cross-platform consistency between web and mobile frontend implementations

3. Significant Issues:

Code-Related:

  • #173: Implemented auth-state based navbar behavior and guest avatar handling on web
  • #147: Implemented Android authentication flow for MVP
  • #141: Implemented web authentication flow for MVP

Non-Code-Related:

  • #56: Created and configured GitHub project for planning and tracking MVP tasks
  • #10: Creating Elicitation Questions Wiki Page
  • #73: Writing the Milestone Report

4. Pull Requests:

  • #97: Fixed global stylesheet naming/import mismatch and CSS import warnings on web
  • #99: Implemented web authentication flow UI and interactions
  • #110: Implemented Android authentication flow screens and interactions
  • #166: Added home and news pages and improved navbar active state styling
  • #171: Added emergency numbers flow and refine homepage hero layout
  • #172: Added footer and legal pages with shared layout updates
  • #176: Improved authentication navigation flows and guest navbar behavior
  • #182: Implemented guest-access news and emergency flows on Android
  • #196: Fixed profile address persistence and dropdown label display issues on web
  • #235: Fixed Android MVP flow issues reported during testing
  • #245: Fixed stale assigned-request state on Android after release flow
  • #249: Improved verify-email flow on web and Android.

Conflict Resolution:

  • Resolved UI and navigation inconsistencies during integration of authentication, guest access, and legal-page flows across web and mobile platforms
  • Addressed review feedback on auth route gating, login/session flow, navbar auth freshness, switch-account behavior, and verify-email routing consistency
  • Fixed Android MVP integration issues related to drawer behavior, guest entry flow, profile/request display consistency, and stale assignment state handling

5. Additional Information:

  • Contributed to frontend feature development
  • Contributed to defining user flows and improving overall user experience
  • Contributed to guest/authenticated navigation design and frontend MVP polish
  • Contributed to stabilizing frontend behavior before the MVP demo
  • Contributed to testing the main project flows on both web and Android using a dedicated test branch, including auth, guest access, and demo-related scenarios

Mehmet Can Gürbüz (Backend & DevOps)

1. Responsibilities:

  • Backend development with focus on profile and authentication-related features
  • Design and implementation of backend API endpoints
  • Contribution to backend architecture and modular structure
  • Server setup, environment configuration, and backend infrastructure management
  • DevOps processes including CI/CD pipeline design and deployment automation
  • Test infrastructure setup and backend reliability improvements

2. Main Contributions:

  • Designed and implemented profile-related backend endpoints, including profession and expertise management
  • Contributed to backend architecture by introducing a layered module structure
  • Integrated authentication middleware with profile update endpoints
  • Set up backend testing infrastructure and added unit and integration tests
  • Contributed to CI/CD pipelines and automated deployment workflows
  • Improved backend reliability through debugging and deployment-related fixes

3. Significant Issues:

Code-Related:

  • #94: Implemented GET profile endpoint and introduced layered backend module structure
  • #161: Added expertise-areas endpoint and improved profession handling logic
  • #156: Set up backend test folder structure for unit and integration testing

Non-Code-Related:

  • #92: Defined backend API conventions (error format, status codes, auth context)
  • #28: Added Requirements for Help Offers and Matching System
  • #25: Created a Scenario and a Mock-Up for Help Offers

4. Pull Requests:

  • #93: Implemented layered backend structure and GET /profiles/me endpoint
  • #105: Added profile patch endpoints and integrated authentication middleware
  • #159: Added profile module tests and improved Jest test setup
  • #215: Added backend and web CI workflows for pull requests
  • #217: Implemented CI/CD auto-deployment workflow for main branch (EC2)
  • #219: Stabilized deployment process using PM2 with health checks and retry mechanisms
  • #208: Fixed backend configuration issues to ensure successful deployment

Conflict Resolution:

  • Assisted in resolving integration and deployment-related conflicts while setting up CI/CD pipelines and merging development updates into main

5. Additional Information:

  • Contributed to backend infrastructure, deployment processes, and system reliability
  • Played an active role in DevOps practices, including server setup and CI/CD automation
  • Supported the team by ensuring stable backend integration, testing, and deployment workflows

Berat Sayın (Backend Team)

1. Responsibilities:

  • Backend development focused on availability and help request assignment mechanisms
  • Implementation of request assignment, auto-assignment, and cancellation logic
  • Development of backend endpoints for availability and request lifecycle operations
  • Ensuring consistency between requester and helper states during assignment processes
  • Contributing to backend module structure and maintaining system stability

2. Main Contributions:

  • Contributed to implementation of assignment logic
  • Developed automatic assignment mechanisms triggered on new help request creation
  • Implemented automatic cancellation of assignments based on volunteer availability changes
  • Designed and improved cancellation flows for both requester and volunteer roles
  • Ensured consistent state transitions across request lifecycle (assigned, cancelled, pending)
  • Contributed to backend reliability by handling edge cases in assignment and availability logic

3. Significant Issues:

Code-Related:

  • #114: Designed deterministic matching logic for assigning volunteers to help requests
  • #118: Implemented assignment cancellation and re-assignment flow based on availability changes
  • #119: Worked on improving consistency of request state transitions across the lifecycle

Non-Code-Related:

  • #39: Create Use Case Diagram for Scenario 3
  • #54: Sequence Diagram for Use Case of Scenario 1
  • #26: Create a scenario and mockup – Scenario 1: Injured Neighbor

4. Pull Requests:

  • #175: Implemented volunteer availability and assignment matching logic as part of core request lifecycle
  • #220: Implemented automatic assignment when a new help request is created
  • #228: Implemented automatic cancellation of assignments when volunteers become unavailable
  • #251: Updated requester and volunteer cancellation logic for consistency in request lifecycle
  • #239: Prevented self-assignment to ensure correct assignment behavior

Conflict Resolution:

  • Assisted in resolving inconsistencies in request lifecycle and assignment handling during backend integration

5. Additional Information:

  • Focused on ensuring correctness and consistency in request–assignment interactions
  • Contributed to stabilizing backend assignment flows before the MVP demo
  • Contributed to backend integration by addressing edge cases in availability and assignment logic

Rojhat Delibaş (Backend Team)

1. Responsibilities:

  • Backend development focused on authentication and user account management
  • Implementation of login, signup, and email verification flows
  • Development of authentication-related API endpoints (login, logout, password reset)
  • Ensuring secure and consistent authentication processes across the system
  • Contributing to backend module structure and authentication system stability

2. Main Contributions:

  • Implemented the core authentication MVP flow, including login and signup functionality
  • Developed missing authentication endpoints such as logout and password reset
  • Designed and improved the email verification flow to ensure proper user onboarding
  • Added resend verification email functionality to enhance user experience
  • Strengthened backend reliability by adding unit and integration tests for the authentication module
  • Contributed to stabilizing authentication-related backend operations before the MVP demo

3. Significant Issues:

Code-Related:

  • #86: Contributed to backend MVP implementation aligned with project scope
  • #87: Participated in authentication, access control, and admin-related backend tasks
  • #170: Contributed to backend development tasks during MVP phase

Non-Code-Related:

  • #52: Created sequence diagram for signup and email verification flow
  • #40: Developed use case diagram for Scenario 2
  • #27: Designed scenario for registration and profile setup

4. Pull Requests:

  • #101: Implemented core authentication MVP flow including login and signup operations
  • #183: Implemented missing authentication endpoints such as logout and password reset
  • #252: Updated and improved email verification flow across the system
  • #102: Added resend verification email endpoint to improve user onboarding flow
  • #192: Added unit and integration tests for authentication module

Conflict Resolution:

  • Assisted in resolving integration issues related to authentication flows and ensured compatibility with frontend and mobile clients

5. Additional Information:

  • Contributed to authentication system implementation
  • Contributed to improving reliability and security of the user onboarding process
  • Contributed to backend stability by addressing authentication-related edge cases

Alper Kartkaya (Backend Team)

1. Responsibilities:

  • Backend development with focus on help request features
  • Implementation of help request lifecycle (create, retrieve, update)
  • API development and endpoint integration
  • Authentication middleware integration
  • Contribution to backend structure and data consistency

2. Main Contributions:

  • Implemented the core MVP help request lifecycle, including request creation, tracking, and assignment logic
  • Designed and updated backend endpoints and database structure for help request forms
  • Integrated authentication middleware to secure help request operations
  • Enabled guest user support, including viewing and updating help requests
  • Ensured consistency between frontend and backend for request visibility and assignment states
  • Added unit and integration tests to improve backend reliability
  • Contributed to project documentation (README updates) and backend structure improvements

3. Significant Issues:

Code-Related:

  • #201: Fixed issue where guest users could not display their help requests
  • #136: Implemented handling of default values for missing "Need Type" in backend logic
  • #75: Initialized backend structure and clarified MVP work distribution

Non-Code-Related:

  • #86: Contributed to MVP milestone planning and task organization
  • #48: Sequence Diagram for Use Case of Scenario 1
  • #137: Document Help Request Status Ownership Lifecycle

4. Pull Requests:

  • #103: Implement MVP help request lifecycle – core backend functionality
  • #186: Update database and backend endpoints
  • #181: Fix authentication middleware integration
  • #167: Add unit and integration tests
  • #202: Enable guest users to view their help requests

Conflict Resolution:

  • Resolved integration conflicts during merges into the development branch, ensuring compatibility with frontend and mobile clients

5. Additional Information:

  • Actively contributed to stabilizing the MVP before demo, especially in guest user flows
  • Contributed to debugging and fixing issues related to help request visibility and assignment
  • Maintained high contribution activity and supported backend integration across the team

Gülce Tahtasız (Frontend Team)

1. Responsibilities:

  • Frontend and mobile UI development
  • Implementation of help request and profile flows
  • Integration of frontend with backend endpoints
  • Development of user-facing features for both Android and Web
  • Ensuring consistency across user flows (requester & helper)

2. Main Contributions:

  • Worked on implementing core MVP help flows, including request creation, availability, assigned requests, and “my requests” features
  • Developed complete profile and edit profile screens for Android
  • Designed and implemented full profile flow across web and mobile platforms
  • Contributed to UI improvements and user input handling (e.g., age input, helper details, profession fields)
  • Improved frontend consistency and usability through multiple fixes and refinements

3. Significant Issues:

Code-Related:

  • #195: Implemented full help flows including request, availability, assigned requests, and my requests features
  • #162: Developed complete profile and edit profile screens for Android
  • #107: Implemented complete profile flow across the system

Non-Code-Related:

  • #40: Created Use Case Diagram for Scenario 2
  • #52: Prepared sequence diagram for sign-up and email verification flow
  • #187: Created Lab 7 report wiki page

4. Pull Requests:

  • #195: Implemented full help flows including request, availability, assigned requests, and my requests features
  • #162: Developed complete profile and edit profile screens for Android
  • #107: Implemented complete profile flow across the system
  • #111: Added blood type field to profile forms and profile page
  • #255: Improved profession field handling and profile UI consistency
  • #98: Replaced hardcoded colors with Tailwind classes to improve UI consistency and maintainability

Conflict Resolution:

  • Resolved integration issues between frontend and backend during development of help flows and profile features
  • Addressed UI inconsistencies and ensured smooth user experience across different platforms

5. Additional Information:

  • Contributed to implementation of user-facing MVP features, especially help request flows and profile systems
  • Contributed to both Android and Web interfaces, helping maintain consistent behavior
  • Worked on improving usability and stability of frontend components before the MVP demo
🎓 Team Members

📄 Templates

📅 Weekly Meetings

🧪 Lab Reports

🎬 Scenarios and Mock-ups

🧩 Use Case Diagrams

🏗️ Class Diagram

🔁 Sequence Diagrams

🛠️ Implementation Plan

📦 Deliverables

MVP Deliverables
Final Milestone Deliverables

📚 Project

✅ Acceptance Tests

🚀 Releases

Clone this wiki locally