-
Notifications
You must be signed in to change notification settings - Fork 0
Milestone 1 Report
Start Date: 10.04.2025
End Date: 26.04.2025
This milestone report summarizes the progress of our CMPE 352 group project, Wasteless. Our goal is to develop an eco-friendly application that helps users track and reduce their personal waste footprint. The app records the amount of waste each user diverts or avoids, presents this information through intuitive visualizations, and returns the insights to the user. To keep people engaged, we are adding a social feed where they can share milestones, tips, and ideas, along with a reward system that recognizes those who achieve specific sustainability targets. Users can also create and join waste-reduction challenges, earn points, and redeem them for exclusive rewards.
The team members that were included in this project are:
- Uygar Apan
- Abdurrahman Arslan
- Serdar Bahar
- Ahmet Mert Balcı
- Ahmet Çağdaş Girit
- Abdülkerim Kasar
- Yusuf Onur Öksüz
- Cengiz Bilal Sarı
- Yüksel Eren Şen
- Ahmet Ege Tanrıverdi
- Osman Yusuf Tosun
From the very beginning of the semester, our team has worked diligently on the project. The success of this project requires not only strong individual effort but also clear communication and close collaboration. With this in mind, we scheduled an initial meeting even before choosing a project topic. There, we introduced ourselves, shared our backgrounds and ideas, and discussed strategies for staying connected. By the end of that meeting we agreed on three key practices: (1) create a WhatsApp group for urgent matters and informal project discussions; (2) hold a weekly meeting—without exception—to review our progress; and (3) use Git as our central workspace, ensuring that all project-related materials are stored and managed there. We also agreed to research the necessary tools and methods and to create standardized templates for our communication, such as issue templates and meeting-notes templates. We set up a GitHub wiki and populated it with our Git usage notes, communication templates, team members’ personal information, and a main home page. Then in the following meetings we selected our project topic.
In the meetings that followed, we selected our project topic and held extensive discussions about its goals, core functionalities, and overall purpose. We then launched the planning phase, which we split into two stages. Stage 1 focused on requirements gathering: defining use-case scenarios, drafting elicitation questions, and conducting a customer meeting to clarify expectations. To maintain steady client communication, we elected a dedicated work division. Wanting every teammate engaged, we assigned each task both primary assignees and a reviewers so that everyone participated in every step.
After finalizing a first draft of the requirements, we moved to Stage 2, where we created the key diagrams—use-case, class, and sequence diagrams. Because these diagrams form the backbone of implementation, we had every member produce draft versions of the use-case and class diagrams. We reviewed the drafts together, agreed on a consolidated version, and then divided the finalized use cases among the team to draw the corresponding sequence diagrams. Recognizing that the planning products are not fixed but may evolve once implementation begins, we moved on to the implementation phase.
Before starting implementation, we held a planning meeting and agreed to divide the workload into three parallel sub-teams—front-end, back-end, and mobile. Each team would meet independently to work on its component, then, once a week, all teams would gather to share progress, flag dependencies, and coordinate next steps. To streamline communication, we created dedicated WhatsApp channels for each sub-team and set up matching sections in the Git repository. Development takes place on separate branches, leaving main untouched until a group-approved merge. This arrangement lets every team build, test, and deliver its piece before integrating the front-end, back-end, and mobile modules into a single cohesive product.
Below is the list of deliverables we plan to complete by 14 May 2025, along with brief explanations for each item.
| Deliverable | Status | Links |
|---|---|---|
| Project Repository | ✅ Delivered | repo |
| Software Requirements Specification | ✅ Delivered | jump |
| Scenarios & Mockups | ✅ Delivered | jump |
| Use Case Diagrams | ✅ Delivered | jump |
| Class UML Diagrams | ✅ Delivered | jump |
| Sequence Diagrams | ✅ Delivered | jump |
| Communication Plan | ✅ Delivered | jump |
| Issues | ✅ Delivered | jump |
| Presentation | Not Delivered | |
| Implementation | In Progress | jump |
| 1st Milestone Report | ✅ Delivered | Current Report |
Our project repository can be viewed here. The repository is actively being changed since we are still working on the project.
We provide all of our issues. The issues have different labels for clarity. All have corresponding assignees, descriptions and discussions.
Our wiki can be viewed here. Our wiki includes all the aspects related to our project. Below we explain the status of the wiki sections.
You can view our communication plan here. We have been and still are loyal to this communication plan. This plan also includes certain templates that are being used in the project. These templates includes issue templates and meeting notes template.
Our full set of project requirements is available in the GitHub wiki. The page lists all functional and non-functional requirements, covering both user-facing and system-level needs, and includes a glossary of project-specific terms. Although the requirements are currently complete, they may evolve during implementation as we identify missing details or clarify ambiguities.
As explained in section 2.2, to ensure that each team member is familiar with the designs we created diagrams each. We included them in the drafts sections (use case diagram drafts, class diagram drafts, sequence diagram drafts), we also provide the final versions (use case diagram, class diagram, sequence diagram). We mainly used PlantUML to create the diagrams and we also include the codes together with the drafts.
Our wiki page includes a section called Project. Under this section the final versions of elicitation questions and scenarios can be found.
Throughout the project we conducted detailed research on the tools we used, the ideas we presented and the domain of our project. We provide these under the Resources and Research sections in our wiki page.
As a team we believe that keeping detailed and well formatted meeting notes are crucial to ensure communication. That is why we kept all our meeting notes organized under the Meeting Notes section in our wiki. Since in the implementation phase we conduct separate team meetings (i.e. Frontend, Mobile and Backend meetings) we also share them.
The frontend developman team was made up of three members— Ahmet Çağdaş Girit, Eren Şen, Abdülrahman Arslan. Ahmet Çağdaş Girit and Abdülrahman Arslan didn't have an experience in frontend development so, they started off by learning React Native.Different pagees were assigned to different members. Yüksel Eren Şen contacted the mobile team to syncronise the UI in mobile and desktop.
For milestone 1, the frontend team had implemented the following features:
- A fully functional home page.
- A page for logging in, registering, or continuing as a guest.
- A main page where tsome goals and post are visible. It has buttons that send the user to feed, goal and user profile. It also has a button for logging out.
- A forum page where all users can view posts.
- A personal profile page for registered users (guests are redirected to the login page at this step).
- The ability for users to add waste goals.
- The ability for users to add waste log information.
- The ability for users to update their bio.
- Relevant backend API calls (login, register, getTopPosts, getProfileInfo, editProfile getGoals, createGoal, getLog, createLog) were implemented.
- An adaptable UI supporting.
- Reliable page transitions.
The mobile development team was made up of four members—Abdülkerim Kasar, Serdar Bahar, Yusuf Onur Öksüz, and Uygar Apan. Since none of them had prior experience with mobile frameworks, they started off by watching tutorial videos and built the app while simultaneously getting up to speed on React Native. To avoid problems down the line, each task was reviewed together, allowing them to spot and fix issues early. Working in sync throughout every phase kept the workflow smooth and helped them move faster. Moreover, Yüksel Eren Şen —whose primary role was on the frontend/web team— provided valuable support by applying his strong React expertise to their React Native development. For milestone 1, the mobile team had implemented the following features:
- A fully functional home page.
- A page for logging in, registering, or continuing as a guest.
- A forum page where all users can view posts.
- A personal profile page for registered users (guests are redirected to the login page at this step).
- The ability for users to add waste goals.
- The ability for users to add waste log information.
- The ability for users to update their bio.
- Relevant backend API calls (login, register, getTopPosts, getProfileInfo, editProfile getGoals, createGoal, getLog, createLog) were implemented.
- An adaptable UI supporting both dark and daylight modes.
- Reliable page transitions.
The back-end team is now deep into implementation. We began by setting up our core toolchain—Postman, IntelliJ IDEA, and MySQL. Postman lets us send mock requests and responses to verify API endpoints and server-side logic. IntelliJ IDEA is our shared Java development environment, while MySQL provides the relational database for our application. We implemented the initial structure of our database and we created the required class queries. Than we moved onto implementing the endpoints, we implemented endpoints for the login, register, waste logging and goal, profile and the forum page. More detailed information about the backend development can be found here.
We didn't start working on the presentation yet. We plan to decide on a start date and a due date for the presentation after we have completed the implementation phase.

WasteLess App
- Customer Milestone 1 Report of CMPE 451 Fall 2025
- Customer Milestone 2 Report of CMPE 451 Fall 2025
- Customer Milestone 3 Report of CMPE 451 Fall 2025
- Meeting 1 (Lab-1) - (23.09.2025)
- Meeting 2 (Zoom) - (25.09.2025)
- Meeting 3 (Lab-2) - (30.09.2025)
- Meeting 4 (Zoom) - (02.10.2025)
- Customer Meeting 1 - (06.10.2025)
- Meeting 5 (Lab-3) - (07.10.2025)
- Meeting 6 (Zoom) - (09.10.2025)
- Meeting 7 (Lab-4) - (14.10.2025)
- Meeting 8 (Zoom) - (16.10.2025)
- Meeting 9 (Zoom) - (22.10.2025)
- Meeting 10 (Zoom) - (30.10.2025)
- Meeting 11 (Lab-5) - (05.11.2025)
- Meeting 12 (Zoom) - (6.11.2025)
- Meeting 13 (Lab-6) - (11.11.2025)
- Meeting 14 (Zoom) - (13.11.2025)
- Meeting 15 (Lab-7) - (18.11.2025)
- Meeting 16 (Zoom) - (20.11.2025)
- Meeting 17 (Zoom) - (26.11.2025)
- Meeting 19 (Zoom) - (11.12.2025)
- Meeting 20 (Zoom) - (17.12.2025)
🛠️ Backend Meeting Notes
💻 Frontend Meeting Notes
📱 Mobile Meeting Notes
- Lab 1 Report
- Lab 2 Report
- Lab 3 Report
- Lab 4 Report
- Lab 5 Report
- Lab 5 MVP Report
- Lab 6 Report
- Lab 7 Report
- Lab 7 M2 Demo Preparation Report
- Lab 8 Report
- Lab 8 Requirements Review & Acceptance Planning
- Lab 9 Report
- Lab 9 M3 Demo Preparation Report
- Requirements
- Elicitation Questions
- Use Case Diagrams
- Class UML Diagram
- Sequence Diagrams
- Demo Scenario - MS1
- Demo Sceanrio - MVP
- Demo Sceanrio - MS3
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
⌛ 352 Sidebar
🏠 Home
📌 Team Members and Contributions
- Meeting 1 - (14.02.2025)
- Meeting 2 - (20.02.2025)
- Meeting 3 - (27.02.2025)
- Customer Meeting 1 - (03.03.2025)
- Meeting 5 - (06.03.2025)
- Meeting 6 - (11.03.2025)
- Meeting 7 - (13.03.2025)
- Meeting 8 - (16.03.2025)
- Meeting 9 - (20.03.2025)
- Meeting 10 - (24.03.2025)
- Meeting 11 - (10.04.2025)
- Meeting 12 - (16.04.2025)
- Meeting 13 - (22.04.2025)
- Meeting 14 - (28.04.2025)
- Meeting 15 - (03.05.2025)
- Meeting 16 - (05.05.2025)
- Meeting 17 - (09.05.2025)
- Meeting 18 - (11.05.2025)