352 Milestone 1 Report - bounswe/bounswe2024group1 GitHub Wiki

Milestone 1 Report

Milestone Report

1. Table of Contents

2. Executive Summary

2.1 Summary of project and overall status

2.1.1 Summary

The "Semantic Browse for Cuisines" project is designed to discover, share, bookmark, and comment on the recipes of the cuisines. In a world where the exploration of global cuisines plays a significant role in cultural exchange, our project stands as a inspiration for the people who are seeking to expand their culinary knowledge and connections. Our project's goal is to create a user-friendly platform that not only makes it easier to find diverse recipes, but also encourages a community of culinary enthusiasts excited to share their culinary experiences.

The core of our project is its innovative method of compiling and displaying recipes from all around the world, making it simple for users to sort through a wide variety of cuisines. Semantic web principles are incorporated into the platform to guarantee that users can find recipes that meet their nutritional requirements, culinary interests, and dietary preferences. This innovative method goes above and beyond simply sharing recipes; it allows users to add comments, ratings, and bookmark recipes which expands the collective knowledge base.

The main goal of "Semantic Browse for Cuisines" is to create a friendly informative, and enjoyable platform where people are able to interact together via their shared love of food and cooking, regardless of their location or cultural background.

2.1.2 Status

To be informed about our interests and qualifications, we created wiki pages for each team member and a page about repositories that we like to suggest, so we could assign the issues more precisely. We created standardized meeting notes using the meeting notes templates, and scheduled weekly meetings. We've standardized our issues with an issue template and prepared a Pull Request template for future development. To increase the labeling system, we have researched issue labels to tag our issues and give more priority to some of them or label them. Thorough investigation of the Wikidata API and Query Service, we've created Guidelines which demonstrate our dedication to careful preparation and provide a strong basis for the advancement of our project. We've also created a page for guidelines on issue creation to standardize our planning process.

In the initial stages after the assignment, we've created multiple polls to narrow down our domain of interest to the Local Cuisines domain. After the domain was decided on, we organized an idea exploration meeting with the team which resulted in us paving the first steps for this project. After our idea exploration meeting, we drafted an initial requirements document to get feedback from the rest of the team.

Building upon this initial requirements draft, we had a meeting to split the Software Requirements Specification Deliverable into different tasks and worked on these tasks in teams of 2. We also made sure to assign a Reviewer to each task to make sure as much of the team was exposed to every part of this deliverable as possible. The Requirements team and the Mockups and Scenarios team organized meetings to make sure that both tasks were on the same page in terms of the content.

In parallel, we worked on the milestone report.

At the current stage of the project, we believe that the "Semantic Browse for Cuisines" project may become important in the way that culinary knowledge is shared and found on the internet. We have the opportunity to create an online platform that appreciates the diversity of international cuisines and creates strong relationships between food enthusiasts all around the world due to our clear vision.

2.2 List the status of deliverables

Deliverable Status
Requirements Completed
Research about Wikidata API Completed
Communication Plan Completed
Personal Efforts Completed
Research about Git Basics Completed
Favorite Github Repositories Completed
Customer Questions Completed
Scenarios For SIB Completed
Tagging Milestones to the Issues Completed
Milestone Report Completed
Mockups for the Scenarios Completed

2.3 Decisions and Choices

2.3.1 How did we choose our domain?

Our project's domain was chosen through two rounds of polling, which included collaboration. We first collected domain ideas from each member and then opened a poll between them, but no clear winner was found. As a result, we decided to survey the top three domains again in a more focused way. In this final round, "Cuisines" won, showing our team's general interest. This approach makes sure that everyone's opinions are taken into account, finally leading us to a domain that brings together technology with food's universal appeal.

image image

2.4 Challenges

3. Project Plan

3.1 Issues

Task Name Issue Description
Draft the requirements document #47 A requirements document should be drafted from the idea exploration meeting's board images.
Create the requirements document #48 The requirements document should be created to be reviewed by other team members.
Create Draft for Customer Questions #49 Identify and list questions that should be clarified by the customer regarding the features and functionalities of the project.
Create Scenarios For SIB #50 Create scenarios and mockups for SIM. The scenarios should describe specific personas and their activities in the system. The mockups are high-level drawings of envisioned interactions with the system.
Tag Milestones to the Issues #51 Every issue needs to be associated with a milestone.
Write Milestone Report #52, #53, #54 Write milestone report.
Create Mockups for the Scenarios #55 Mockups will be created to illustrate users' actions in the SIB system according to the scenarios.
Plan a Roadmap #57 Create a roadmap outlining the strategic plan and timeline.

3.2 Roadmap

We created our roadmap via Github Roadmap.

For Milestone 1: image

Long Term Roadmap: image

3.3 Project Plan

We initiated the timeline for the project. Sub-issues and deadlines will be updated as the projects progress.

4. Contribution Table

Name Contributions
Mehmet Efe Akça Researched SparQL and Wikidata. Introduced this research to the team at a meeting. Drafted the first requirements document from the idea exploration meeting's board images. Wrote the final requirements document (with Nazire). Wrote a script to convert the Google Doc to a suitable Markdown format. Cross-checked with the scenarios and mockups owners to make sure the content was on the same page. Reviewed mockup issue. Contributed to the mockups by creating a filter view for the search page.
Aslı Gök Created use case scenarios and mockup designs for Web/Mobile with Enes Başer
Atakan Yaşar Created a roadmap and wrote some parts of the milestone report
Boray Kasap Contributed to the milestone report.
Enes Başer Created use case scenarios and mockup designs for Web/Mobile with Aslı Gok. Compared mockups & scenarios with the requirements in case of inconsistency. Researched Wikidata API and SPARQL and prepared guidelines for learning and doc. purposes. Also for consistency, created "Issue Guidelines Doc"
Nazire Ata Wrote the requirements document (with Mehmet Efe). Helped organize the division of labor for the Milestone Report.
Yüksel Eren Şen Reviewed mockup & scenarios and milestone report
Ufuk Altunbulak Collaborated to create the roadmap and reviewed some issues.
Çağatay Çolak Contributed to the milestone report
Yiğit Memceroktay Created customer elicitation questions and documented the answers during the meeting. Created responsibility assignment matrix. Reviewed the requirements.

5. Evaluation of Tools and Processes

5.1 Evaluation of Tools

For this project, we used many tools for different purposes to achieve effective contributions and efficient communication. Our communication was based on our Discord and Whatsapp group chat, each for a different purpose. As time passed by, we smoothly started using new tools such as Google Docs when needed. Ease of use and efficient management were important in deciding our tools

5.1.1 Discord

We used Discord as our main communication channel. We held weekly meetings on Discord to discuss our project updates and make decisions. We shared important information with each other. Also, we created polls to decide on the domain of our semantic information browser project.

5.1.2 WhatsApp

WhatsApp was our most active communication channel. Every day we kept ourselves updated there and asked for help. We are all very active users of WhatsApp and therefore it provided us with faster communication than any other channel. We decided on our meeting times on WhatsApp.

5.1.3 In-Person Meetings

When needed, we arranged in-person meetings. This was most useful when we needed to make decisions in a fast manner. For example, we could use the whiteboard to discuss the features and layout of our application.

5.1.4 Github

We kept track of our project updates through opening issues. We also used the project milestone feature to prioritize milestone-related issues.

5.1.5 Google Docs

While writing our documents like requirements and milestone reports, we heavily made use of Google Docs. We needed to be able to edit common documents and Google Docs is very suitable for this purpose and we all have experience with it.

5.1.6 Google Forms

We needed to make a poll to decide on our project’s domain. We used Google Forms for this purpose. It was really easy to use and had a familiar interface to all of us.

5.2 Evaluation of Processes

We held weekly meetings. Almost everyone attended those meetings. We also had in-person meetings

5.2.1 Team Meetings

5.2.2 Issue Management

We created issues to track our progress and updates. We did a great job in that. Being able to refer to other issues made it very easy and efficient to monitor our progress.

5.3 Lessons Learned

Although a lot of things were new to us, we handled it pretty well. However, there are a few things to be noted. First of all, we could start writing our documents earlier. This way we would have more time to review our work. Second of all, we could arrange more in-person meetings as they are more efficient for decision-making.