Skip to content
This repository was archived by the owner on Feb 9, 2026. It is now read-only.

Lab 5: MVP Implementation & Planning

CengizBilalSari edited this page Nov 4, 2025 · 21 revisions

Lab 5: MVP Implementation & Planning

1. Goals/Objectives for MVP

2. Implementation Plan

2.1 Critical Points:

  • After the customer presentation for milestone 1, it is decided that emphasizing the impact of the application and effort of users using the application is important for the customer. Therefore showing the impact of the application on environment became one of the most important aspects of the MVP. In particular, features such as showing waste goal statistics and closed challenges are among our most crucial features for the upcoming milestone.

  • Accessibility features are among the most important aspects for MVP as well. In the first milestone, implementation of necessary accessibility features such as keyboard navigation and maintaining a color contrast ratio were postponed to following milestones. Complying accessibility guidelines is an important aspect of this project and it is needed to be implemented in a large extent for the MVP.

2.2 Issue Tracking:

2.3 Execution Practice:

We maintain an active WhatsApp group for our main CMPE451 team (10 members) as well as for each subteam: backend, frontend-web, and frontend-mobile. For less urgent discussions, we use Slack, where we document decisions and async updates. In addition to our weekly in-person lab sessions, we schedule at least one extra Zoom meeting every week to ensure alignment. We strictly follow our Communication Plan, which helps us stay consistent and efficient.

Each subteam has a designated team communicator who can make and debate quick decisions when needed. During every meeting, we open and assign GitHub issues, ensuring each task has a clear owner. This prevents confusion and keeps execution smooth, just like a well-organized ant colony. Tasks are often passed and completed efficiently within or across teams.

After every one or two pull requests, we perform comprehensive manual testing of the application to detect regressions early. This approach, combined with our upcoming unit tests, maintains code reliability. Whenever we face uncertainties, we directly reach out to TAs, either during lab sessions or through scheduled meetings.

2.4 Progress Tracking:

We rely heavily on GitHub issue tracking and milestones to monitor progress. Each issue is labeled, filtered, and assigned to a specific team member, making ownership and progress transparent. The milestone view allows us to see the overall completion rate and identify which parts of development are on track or delayed.

By combining regular communication, systematic issue management, and consistent testing, we ensure that we’re meeting milestones and maintaining a cohesive workflow throughout the project.

3. Lessons Learned & Mitigation

4. Testing Strategy

Current Status:

This report outlines the current status of our unit test coverage for the project.


Quantity:

  • Total Tests: We currently have no unit tests implemented, we have unit tests that implemented at CMPE352 which has the main features. For these term, we will implement the unit tests for the main functionalities that we will implement at Milestone 2.
  • ** Reviewer Test From Postman** We did the tests from the postman by developer and reviewer, all collections (endpoints) with the %100 coverage are at the postman, and our PR reviewers use postman as test tool and tried the implementation.
  • Code Coverage: Our unit test achieves 10% line coverage across the core application logic (at the archive, we delete them for the new project), our reviewer and developer test from postman achieves %100 coverage for backend. Since it is not a automated test, we will increase the unit tests for this milestone.

Quality:

  • The quality of the tests at postman are valuable for us since it uses the real db and the reviewer tries all the possible issues.

  • The automation of the codes for our project is not as good as unit tests, so we need to focus on that part.

  • Meaningful Tests: Our testing philosophy emphasizes the checking of all possible issues,errors . Tests are designed to validate specific edge cases, and integration points between services.

  • Effectiveness: The effectiveness should be the main goal of the testing structure for us at milestone 2 since testing from postman by reviewer is not a automated system.

These bullet points validate that our tests are targeting real-world scenarios and potential failure points.


5. Acceptance Test Plan

This plan outlines the user acceptance testing criteria to validate that the Minimum Viable Product (MVP) meets its core business goals and is acceptable for an initial stakeholder/user perspective.


Acceptance Criteria Overview:

The MVP will be considered acceptable when the core user journeys defined below can successfully and intuitively complete, and the system demonstrably meets the primary goals.

User Story / Feature Acceptance Criteria Validation Method
Profile Management 1. Users can upload a profile picture up to 2MB.
2. Users can create bio, they can permanently delete their account.
Unit test
Waste Tracking (Daily Logging) 1. Users can log daily waste in different unit items .
2. Waste can be categorized into at least 5 predefined types.
3. Analytics update within 5 seconds.
Functional testing using test accounts.
Waste History Visualization 1. Users can view historical data for at least 12 months.
2. Data is displayed through charts or graphs.
UI test from Mobile with Expo Jest Library
Community Challenges 1. Users can join sustainability challenges.
2. Leaderboards update based on challenge results.
End-to-end testing using multiple user accounts.
Post Creation & Interaction 1. Users can create posts with text, image, and link attachments.
2. Users can like, save, comment, and share posts.
3. Posts can be deleted by their owner.
4. Moderator can delete inappropriate posts.
5. Reported posts appear in moderator panel.
6. Reminder message encouraging kindness is displayed.
UI functional testing and moderator role testing.
Semantic Search (Forum) 1. Searching returns relevant posts based on content meaning.
2. Search ignores stopwords.
3. Typo-tolerance is applied.
Prompt-based query testing with expected results.
Notification System 1. Users receive notifications for likes and comments.
2. Users receive goal progress updates.
3. Users are notified on leaderboard updates.
4. Users receive notifications when followed accounts post.
Backend event simulation.
Localization 1. System supports Turkish and English.
2. Default locale is English.
3. Language switch doesn’t break UI.
UI language toggling validation.
Accessibility & UX 1. Visible focus indicators exist for interactive elements.
2. Keyboard navigation works everywhere.
3. Non-text content has meaningful alternative text.
4. Color contrast ratio meets 4.5:1 minimum.
5. Tooltips and onboarding guides appear where necessary.
Accessibility-standard audit (WCAG).
Security & Compliance 1. Passwords must be at least 8 characters and securely stored.
2. HTTPS enforced.
3. KVKK policies are accepted.
4. Encryption prevents unauthorized access.
5. Minimal data collected.
testing the HTTPS, KVKK, password and encryption by developer.
Performance 1. 95% of user actions respond under 4 seconds.
2. Dashboard loads under [Number] seconds.
3. Analytics update within 5 seconds.
4. Database queries remain performant at scale.
Load and stress tests.
Scalability 1. Horizontal scaling supported at the service level.
2. User growth does not degrade platform functionality.
Cloud environment scaling simulation.

Deliverables

BOUNSWE'25 - Group5

WasteLess App

Milestones

✍️ Meeting Notes

📋 Team Meeting Notes

🛠️ Backend Meeting Notes
💻 Frontend Meeting Notes
📱 Mobile Meeting Notes

🧪 Lab Reports

📏 Plan

📌 CMPE451 Project

🚀 Weekly Reports

Abdurrahman Arslan
Abdülkerim Kasar
Ali Bartu Konca
Arda Yalçındağ
Cengiz Bilal Sarı
Emre Kılıç
Osman Yusuf Tosun
Serdar Bahar
Yusuf Onur Öksüz
Yüksel Eren Şen

📦 Templates

📌 Standards

🗂️ Archive

⌛ 352 Sidebar

🏠 Home

🚀 Contributors

📌 Team Members and Contributions

⛳️ Milestones

✍️ Meeting Notes

📋 Team Meeting Notes

🛠️ Backend Meeting Notes
💻 Frontend Meeting Notes
📱 Mobile Meeting Notes

📋 Team Documentations

Project

📌 Project Requirements, Scenarios, Elicitation Questions
📌 Software Design Diagrams 📌 Drafts

📚 Resources

📌 Resources Used During the Project

🔍 Research

📌 Research Documentations

📦 Templates

Clone this wiki locally