Milestone‐1 Report - bounswe/bounswe2024group10 GitHub Wiki

  • 1. Executive Summary

    • 1.1. Project Description

    Our project is about a semantic information browser that features animals. Here, the users can post pictures of animals, like, comment and can also follow other users. But most importantly they can search for an animal's information, which will be fetched from Wikidata.

    In this project we wanted the users to access information on an animal easily while seeing it's pictures or reading the discussions in the comments in the posts which we show after the initial information, thus making learning more interactive and fun. Also in addition to an animal's name, we want the users to be able to search animals by some of their properties.

    All users can benefit from the mentioned semantic searching, they do not need an account. However, with an account, users can post the interesting animals they encounter, their pets, or some animal which they do not know the name of and ask for it to be clarified by someone else. Moreover, users with accounts can join discussions in the comments, like posts, bookmark those posts which they find cute and can post with a special alert tag if a rare animal is spotted or a rare event has occured !

    In summary, we are creating a semantic information browser about animals, where animal lovers can post pictures of animals and learn.

    • 1.2. Project Status

    To prepare for this project, we have been working tirelessly. We have created numerous pages that include our personal pages, our favorite repositories, our meeting notes and the research that we had to conduct to better understand the course and the project's development. We have created many issues to document our tasks and keep track of them. We prepared a communication plan to effectively meet or discuss certain topics. We had weekly meetings where we discussed our progress, the feedback from the lectures and the PS's and shared tasks.

    After we received details on our project we quickly picked a domain and started our research. Our research helped us determine the requirements, but since some parts were not explicitly stated we had some questions which we have documented as elicitation questions, and arranged a meeting where we asked these questions. After that we created scenerios and mockups.

    To keep track of the tasks and progress we have created a responsibility assignment matrix and a roadmap from ProjectLibre.

    • 1.3. Deliverables

Deliverable Status Link
Project Repository Completed Repository
Requirements Spec Completed Requirements
Scenerios Completed Scenerio-1, Scenerio-2, Scenerio-3, Scenerio-4, Scenerio-5
Mockups Completed Mockups
Responsibility Assignment Matrix Completed RAM
Communication Plan Completed Communication plan
Meeting Notes Completed Meetings
Issues Completed Issues
Research Completed Wikidata, Linked Data, SPARQL, Web & Mobile Application Development, API Development & Wikidata API, Semantic Search, Our Favorite Repositories
Project Plan Completed Project Roadmap
  • 1.4. Decisions and Choices

  • 1.4.1. Domain

As a team, we have reached a consensus rather quickly when choosing our domain for the project. Ömer Faruk Erzurumlu shared a his idea about posting animals and no one had a problem with and and had a better idea to oppose. So in the next meeting it was quickly decided.

  • 1.4.2. Meetings & Communication Plan

Meetings are a crucial part of discussing certain topics about the project or the course in general, therefore we try to arrange them in a way where we can maximize the number of people joining them. In the first meeting we didn't know what times work for others so we used www.when2meet.com. But after that we realized the best times were monday and thursday nights. So whenever we have to have a meeting we text the group Whatsapp chat 2-3 days in advance.

But our main channel of communication is WhatsApp. Whenever we have a question, have a recommendation, or need help we text there. We even write course notes, or the topics that should be discussed in the next meeting, it is really practical

  • 1.4.3. Issue Management

We assign the tasks during meetings and during lectures when we hear the criticism and the feedback. If we give the task during a meeting we put it in the meeting notes under action items. However if we give it in any other time, we write it in the WhatsApp chat. If it is a small problem the assignee fixes it by themselves, however if it is a big issue that we need to track and later review, we open an issue for the task with a clear description and with sub-tasks that should be completed. And when it is done we review it, later the assignee closes the issue with an appropriate comment.

  • 1.4.4. Wiki Documentation

We have created the side bar the first week and it has been a great help in keeping the repository tidy. We put our important pages there, which will be mentioned, such as personal pages, templates, meeting notes, project related items and the research.

The project part is for project related items such as requirements, mockups, scenerios, roadmap and elicitation questions. These are our most important pages since they will be the baseline for our project.

In the research part we have the various research we have conducted to better prepare for the project, and the course. It helps us greatly when we want to access related information when we are doing certain tasks. We have also put our favorite repositories there

Below that we have the meetings part where we put our meeting notes ranked from the most recent one to the oldest. In each meeting note we have the meeting time, channel,attendees , the agenda of that meeting, the topics discussed and the tasks that were given. The note-taker of that meeting puts that meeting's notes to the wiki. In addition to the notes, we have our meeting plan which is in an easy place to find.

After that we have the personal page part where each team member has created a page that gives information about themselves and displays their weekly contributions.

And lastly we have our templates which have been revised a number of times. These templates are helpful when we were first setting up our personal pages, creating issues, and writing our favorite repositories.

  • 1.5. Challenges We Have Faced

The biggest issue we have faced could be coordinating in time. Whenever a task is given, we have to wait for the next meeting to properly coordinate, discuss the issue, and make a plan to divide tasks. This, in turn, causes us to do some tasks rather quickly but not as good as could have been. So we have to go back and fix/modify some of the things we have done. However, we are trying to overcome this issue by chatting in whatsapp more before the meeting so that everyone has an idea about the tasks.

Another issue was that if a clear deadline was not given for a task, that task would be delayed until the last possible moment. Unfortunately, we have witnessed this right before the milestone. However, this has been a lesson for us so we will monitor the tasks more closely in the following milestones and assignments.

2. Project Plan

  • We have provided the necessary information for our project plan here.

3. Contributions

Name Contributions
Yasin ATLI Researched the Wikidata support tools and created the mobile mockups to better illustrate the requirements and user scenarios. The resulting Wikidata documentation can be seen at Wikidata .Also, mockups that I created can be seen at (Scenerio-1, Scenerio-2, Scenerio-3, Scenerio-4, Scenerio-5,Mockups )
Oğuzhan Tuncer Created my personal wiki page as well as the favourite repository template to gather a neat and comprehensive wiki page for our project. Kept some of the meeting notes so our team can follow along the decision taken in the meetings and the progress of the project. Learnt design basics in figma to create some the mock-ups both for mobile devices and desktop devices.
Hüseyin Karataş I have created my personal wiki page in and favorite repository in order to provide necessary info about myself. I have contributed to Requirements of the project, mostly non-functional requirements. I have made research about APIs and usages and documented it so that our team members can have the necessary information when needed. I also researched and documented Linked Data concept which will be used throughout the our application’s structure.
Mesut Melih Akpinar Authored non-functional requirements, conducted research on the Wikidata API, and documented my findings to make understanding easier for my teammates. Additionally, I established a personal page and provided guidance on Git and Markdown during team meetings. Moreover, I led the creation of a Wiki page and served as a moderator for both our first and second meetings, ensuring effective communication and collaboration among team members.
Nazlıcan Aka I have created my personal page according to personal page template. I have entered my weekly tasks into my personal page. I have created some issues to keep track of our responsibilities, such as #45, #43, and #39. I have created our project and olur first milestone, and linked related issues to them. I have changed the status of our issues in the project. I have attended the requirement specification meeting, help to determine base of our milestones. Additionally, I have reviewed requirements page and attended to elicitation question meeting with Kutay Altıntaş. I have done search about SPARQL to help my teammates to have better understanding of tools that we will use later in the project. Lastly, I have done the evaluation of tools and processes we have used to manage your team project for our milestone-1 report.
Yusuf Kağan Çiçekdağ I have attended the meeting 1 and meeting 2 which we have discussed about our requirements, domain analysis, mockups and scenarios. Also I have written some of the functional and non-functional requirements for the application. Also I have extended my domain analysis research about mobile application development and put it on the Web & Mobile Application Development page. Apart from these, I have created some web mockups, which can be found at mockup 1, mockup 2 and mockup 3
Gülşen Sabak I have created my personal wiki page with respect to the personal page template. Also, I add my favorite repository as it should be compatible with favorite repository template. I have entered all of this information regarding myself so that my team members know me better. In addition, I added my weekly contributions there. I have created issues to track the project's improvements. I assigned some of them to myself and the other was assigned to my teammate. I used labels to understand the priority and duty of the issue. I linked my assigned issues to our project and milestone. Also, I generated a meeting notes template to fit and scale our meeting notes. I have taken the 4th meeting note so that our team can keep up with the decisions made during meetings and track the project's advancements. I have learnt the basics of JavaScript to be able to understand perfectlt the basics of web. I have done my research on Web Development Application to support my teammates in better comprehending the tools we'll use later in the project. Moreover, I reviewed the scenarios and mockups. I have decided to add one more scenario which is scenario 6 that was held by me. I have prepared the needed mockups for scenario 6. I have uploaded both the content of scenario and mockups to wiki. This helps me to understand the requirements, scenarios and mockups part better.
Ali Bartu Konca I have made changes to the issue template and made the issue configurations, written the functional part of the requirements and categorized the non-functional ones, written the glossary, written the scenerios Scenerio-1, Scenerio-2, Scenerio-3, Scenerio-4, Scenerio-5 prepared the responsibility assignment matrix, prepared the project plan, made contributions to the mockups, written the executive summary part of the milestone-1 report, moderated the 5th, 6th, and the 7th meetings, made contributions to the elicitation questions and arranged a meeting with Kutay Altıntaş to ask them and then revised the requirements and lastly helped with the organization in general.
Onur Kafkas I attended and screen-shared our first meeting as we were discovering GitHub. I prepared my personal wiki page and my favorite repository page. Furthermore, I researched about APIs and their usage. I also assisted in the creation of mock-ups.
Ömer Faruk Erzurumluoğlu I have attended many of the meetings. I took notes for the group in the lectures and our talk with the TA. I have written my wiki & favorite repository page. I have done research about semantic search & wrote my findings. I have done many of the website mock-ups. I have participated in creative process of finding the domain of our project. I have also written the issue template.

4 Evaluation of Tools and Processes

4.1 Github

  • Github is the platform that we used mostly. We distributes our tasks by using GitHub issues. We were not used to use GitHub effectively before the CMPE 352. Most of us stated to use GitHub with this course. Additionally, we have been learning about GitHub features during the ps and lecture hours. Therefore, our ability to use GitHub effectively was improved with respect to the first week of the course.
  • Furthermore, GitHub is important resource for us to keep track of the status of tasks and issues. We opened project and milestone and linked related issues to them to make it easy to monitor state of issues. This facilitate to review other’ s tasks.
  • Additionally, GitHub is the page that we submit and record our efforts, meeting, deliverebles, research, templates and personal pages. So, for one who wants to get more information about our project and our team can use GitHub. We have created GitHub, so that anyone who is not familiar with the GitHub interface also use it easily.

4.2. Discord

  • Our one of the main communication platforms is Discord. We used Discord in order to both communicate within the team and with our instructors. Our instructors gave feedbacks and assignments from Discord. We have also used Discord during the meetings, important notes are shared by discord to make it visible from both the instructors and the team members. Discord is well design platform for us to make our meetings because it does not have time limitation and we are all familiar with the interface of the Discord.

4.3. WhatsApp

  • The other most used communication platform was WhatsApp. We used WhatsApp because WhatsApp is the fastest platform that we can communicate. We are using it for urgent actions, polls for meeting times and deciding, separating tasks into people. After getting confirmation from the people who will do the task, related issue is created in the GitHub. But the important thing is that what we have been discussing in the WhatsApp is not visible from our instructors. Thus, we should also put them into GitHub. It is important to ensure that our work does not go unnoticed by our instructors.

4.4. Figma

  • Figma is used while creating mobile and web application mockups. It is a great tool for creating mockups in terms of ease of use and diversity of tools. Additionally, it was easy to be used by different people at the same time and people can see one another’ s work while the person is doing her job. Because we have already learned how to use it effectively; probably, we will use it later too.

4.5. when2meet

  • The first meeting of team was determined from when2meet platform. At first it was hard to determine a date and time for the meeting because everyone has different available time. But later, most of us are available mondays and thursdays, so we did not use it later. But, it was a great tool to determine the most available time. If we need again, we can use it comfortably.

4.6. Google meetings

  • We used it while doing our team with our assistant to clarify elicitation questions. It is our second choice to meet, we can meet in Google meetings if one of us have problem with discord probably.

4.7. ProjectLibre

  • We used ProjectLibre when we were creating our project plan. We really enjoyed how easy it was to add tasks, assign them, and chain them to other tasks that were dependent on them. We could even chain tasks from the Gannt Chart itself just by clicking and dragging which makes it really user-friendly. We will keep using ProjectLibre over the course of the project, updating the tasks, the assignees, and the durations as we come to those points.
  1. Executive Summary, 2. Project Plan Prepared By: Ali Bartu Konca 2021400177
  2. Evaluation of Tools and Processes are prepared by: Nazlıcan Aka 2020400027