Skip to content

Milestone 1 Report

İREM NUR YILDIRIM edited this page Mar 19, 2024 · 34 revisions

CMPE352 Group 2 Milestone 1 Report

Contributors

  • Rukiye Aslan
  • İrem Nur Yıldırım
  • Halil İbrahim Kasapoğlu
  • Buğra Mert
  • Yasin Baştuğ
  • Muhammed Erkam Gökcepınar
  • Deniz Coşkuner
  • Furkan Şenkal

Table of contents

Executive Summary

  • 1 Introduction

  • 2 Project Status

  • 3 List and Status of Deliverables

  • 4 Decisions and Choices

    • 4.1 Meetings & Communication Plan & Issues
    • 4.2 Domain Selection Process
    • 4.3 Wikipage Documentation
  • 5 Challenges Encountered

  • 6 Individual Contribution Report

  • 7 Evaluation of tools and processes

    • 7.1 Discord

    • 7.2 WhatsApp

    • 7.3 Github

    • 7.4 Figma

1 Introduction

Introducing our film social media app which we do not give a name yet. It is a proposed social media app inspired by platforms like Letterboxd, aimed at film enthusiasts to explore, rate, and discuss their favorite movies. This app aims to offer a comprehensive platform for users to immerse themselves in the world of films. By utilizing the Wikidata API, the application can tap into a vast reservoir of data encompassing details on actors, directors, genres, posters, and IMDb ratings. Users will have the ability to register, login, post reviews, bookmark content, and like others' reviews. Additionally, they can follow other users, engaging in lively discussions about their favorite films. The seamless integration of Wikidata enriches the user experience by providing comprehensive information and facilitating meaningful interactions within the film community.

2 Project Status

We have been developing our GitHub repository since the beginning of the project in order to make continuous improvement and advancement. For documentation, we created a number of wikipages. These pages consist of study notes, meeting minutes, and personal pages for team members, among others. Additionally, by monitoring our progress, we have made use of Github's issues, discussions, and projects features to accomplish more efficient and well-organized teamwork.

To guarantee continuous communication among the team members, we devised a communication plan and employed various methods, including Github, Whatsapp, and Discord. We choose Halil as our communicator. We divided up the work, held weekly meetings, and took thorough meeting notes to ensure high-quality documentation.

For understanding the tools that we will use in our project, we did researches on Wikidata, Linked Data, SPARQL semantic queries, and Wikidata API and documented them on wiki. Then, we chose films as our domain for the project. We identified the software requirements for this domain. Next, we created project plan, mockups and user profile scenarios. Also, We fill the responsibility assignment matrix for individual contributions.

3 List and Status of Deliverables

Deliverable Status Related Link
Project Repository Completed & Delivered in Time Repository
Issues Completed & Delivered in Time Repository
Communication plan Completed & Delivered in Time Wiki
Meeting Notes Completed & Delivered in Time Wiki(This is the first one, use sidebar to see others)
Requirements Completed & Delivered in Time Wiki
Project Plan Completed & Delivered in Time Wiki
Project Gant Chart Completed & Delivered in Time Repository
RAM (Responsibility Assignment Matrix) Completed & Delivered in Time Wiki
Mockups Completed & Delivered in Time Wiki
User Scenarios Completed & Delivered in Time Wiki
Milestone Report Completed & Delivered in Time You are reading it

4 Decisions and Choices

4.1 Meetings, Communication Plan and Issues

About the meetings, Initially, we attempted to meet Tuesdays at 9 p.m after class, but we realized that no assignments or deliverables were announced when we meet Tuesday. We aimed to make one each week, usually on Thursdays but occasionally on Fridays. Nevertheless, in order to select the domain and complete the deliverables, we had to hold a few more sessions last week. Our meetings are held over Discord. For convenient group communication, we have a second channel in addition to the lecture channel.

4.2 Domain Selection Process

After learning the domain should be built around semantic search we played with Wikidata API and find the domain ideas that we would be comfortable finding data during the development process. We had these as options:

  • Films and Series
  • Food and Nutrition
  • Travel Planning and Sharing Platform
  • Archeological Site
  • Flowers
  • Books

'Films and Series' and 'Archeological Site' topics had 4 votes each. We researched how we can find Archeological Site data semantically besides Wikidata. Also we discussed how these topics can be used in apps with an interactive social media design. After discussions we decided on Films domain with an idea of a social media for Films.

4.3 Wikipage Documentation

We chose to have artifacts like Requirements and Project Plan under 'About Project' part in our wiki home page. Then we thought that having meeting documentations chronologically listed in the home page is a good idea, ensuring easy access to discussions and decisions made in each phase of the project. Also by placing research links in the home page, we highlight the importance of foundational knowledge and the evidence-based approach to our project development. Also we list the templates for issues and meeting notes in the home page. We have organized our wiki sidebar to reflect the workflow and hierarchy of our project components. This makes navigation intuitive, allowing team members and assistants/professors to find information efficiently.

5 Challenges Encountered

Remote Collaboration: One of the challenges we faced was effective collaboration in a remote setting, which we mitigated by establishing and adhering to a robust communication plan and regularly updating our wiki to keep all team members aligned.

Dependent Issues and Deadlines: Our workflow occasionally faced setbacks when certain tasks could not progress as planned due to dependencies on other unresolved issues. To mitigate this, we introduced more rigorous dependency tracking and proactive issue management like deadlines and reviewers. We used GitHub's issue tracking features to link dependent tasks and applied labels to identify and prioritize issues that were blocking others.

Initial Disorganization of Issues: At the outset, our issues were unorganized and lacked uniformity, which led to some confusion and inefficiency. We addressed this by establishing clear guidelines for issue creation and developed specific templates for common types of issues. This structure brought about a standardized format for new issues, ensuring all necessary details were included right from the start. With the introduction of issue templates and rules, we observed a significant improvement in the clarity and organization of new issues. This facilitated better understanding and tracking of tasks, and improved our overall workflow.

6 Individual Contribution Report

Team Member Contributions
İrem Nur Yıldırım I have attended our weekly team meetings and other brief huddle's at Discord.First week, I created a wiki page for my personal information and searched for git version control management system, also documented the GitHub repository ColBERT.At first three meetings I moved the meeting notes taken by my colleagues to wiki.Other weeks we discussed on the project domain and I searched for domain's capability of being used via Wikidata API.After analysis part, I wrote 5 user scenarios for our project and tried to reflect our idea from different aspects via different characters.Also I installed ProjectLibre and prepared the Gant Chart to document what we have done and what we are planning to do in near future for our project.After adding pod file to our repo, I initiated a project plan wiki page to attach essential planning-management files.
Halil İbrahim Kasapoğlu I have actively attended all of the weekly meetings and was the notetaker of the meetings 2 and 5 and reviewed meeting notes 4. I have created mockups for mobile and reviewed the web mockups created by Rukiye. I have written the non functional requirements and reviewed the system requirements section. I have created three issue templates for our project, those issues created by are listed with the label issue template on issues section. I have also documented a YAML template guideline on adding a new issue template on the repo. I have researched semantic web and analyzed & proposed food and nutritions domain those notes are documented on the wiki by Furkan. I have created my own personal information wiki page and documented my research on Godot repository. I have designed an application icon and banner for wiki & readme. Documented the initial version of the communication plan and designed and initial sidebar. I have reviewed past issues before milestone to check possible flaws like broken links. I also took part as the communicator of the project. For a more detailed view of contributions check out weekly contribution details at personal page.
------------- -------------------------------
Furkan Şenkal I have attended all the meetings that we held and tried to participate to all discussions done and tried to be a helpful teammate to my team. In first week, I created my personal wiki page, created new issue labels and organized them with Erkam (issue #15), and documented the Rust repository to wiki. In second week, I studied git as a version management system ( issue #29) and reviewed the first issue template (issue #26) of our repository. In third week, I did researches on Wikidata, Linked Data, SPARQL semantic queries, Wikidata API (issue #49) and created a wiki page for them using my teammates research notes. In fourth week, I did a research on domain analysis for Films subject, added 4th meeting notes to wiki, reviewed the project plan, and created a wiki page for domain analysis. In last week, I reviewed all the meeting notes and updated them(issue #73), also reviewed the issue revisions done by Halil (issue #79), and finally, created this milestone 1 report with Yasin.
Mahmut Buğra Mert I attended to all meetings and tried to follow all discussions and contribute them. I attended weekly PSs. I informed my team members about the contents of PSs when I was the only attendee of the PS from my team. I created the first draft of wiki main page. Then, I made the final form of the wiki main page. I researched the repository LWM and documented my thoughts about it. I researched Git and watched the video about Git mentioned in the lesson. I created my personal page and entered my personal informations. I researched LinkedData and sent my research to Furkan to upload it to the wiki. I added a few things to Project Plan page such as links.
Muhammed Erkam Gökcepınar I have attended the weekly and sometimes additional meetings and tried to be open minded and collaborative with my team members. Also, I took the meeting notes 4. I have created my wiki page and researched React Native repo We organized the issue labels with @furkansenkal. The project part of the github is researched and a new project for our team is created. I learned and experienced the Sparql queries and Wikidata with my teammates, and I documented Sparql in our wiki page. In order to choose our domain suitable to aim of using Wikidata, I made a research about possible domains, chose to do a travel platform and documented it. For our project requirments, I met with my teammates(Halil and Rukiye) and discussed the what properties our film platform should have. Then, we wrote requirements and documented them. Besides those, I updated some wiki pages, readme file and project board.
Osman Yasin Baştuğ I have attended all of the meetings and took the notes on the 3rd one. I have researched PRAM and documented it. I have brought up discussions like Issue Formats. I have studied git to comprehend the workflow well. I have researched SPARQL and Wikidata to be able to work with semantic queries for our Semanticflix domain and I tried various queries to gather some data to discuss the feasibility of Archeological Sites domain. I have updated RAM by filling all the closed issues according to individual contribution. I developed Elicitation Questions for domain requirements to address possible discussions and decisions to be made in the flow of development of the project. Finally I prepared Milestone Report 1 with Furkan.
Rukiye Aslan I attended and actively contributed all the meetings and took the meeting notes for the 1st and 6th meetings. I also created a wiki page for myself where I introduced myself, expressed my skills and contact details. I documented the Pydantic repository on wiki, as it had good issue templates and practices that we could utilize as a team. I studied git as a version managament system and tried to use some of the practices that I learned on our repository. I did a research on Github Projects and created the project board for our github repository. I also did a research on Wikidata, Linked Data, SPARQL and documented my research on Wikidata to be displayed on wiki. I did a research on domain selection which involved experimenting with some queries on Wikidata to check if a domain has enough data to be selected or not. I worked on requirements elicitation with my teammates. Joined the extra meetings to write the requirements and documented the User requirements on wiki. Also, our communication plan needed to be updated with the information about our extra meetings other than the weekly regular one. So, I updated the communication plan. Finally, I learned mockup design on Figma and created the web mockups for our project.

7 Evaluation of tools and processes

7.1 Discord

Usage: Discord served as our primary channel for real-time communication.

Evaluation: Its robust voice and text communication features facilitated dynamic discussions and rapid problem-solving sessions. The ability to create topic-specific channels helped in organizing conversations and ensuring that all team members were aware of the latest updates.

7.2 WhatsApp

Usage: WhatsApp was used for quick, informal chats and immediate notifications.

Evaluation: Its widespread adoption made it an accessible platform for all team members. However, its limited search functionality and lack of formal thread organization made it less suitable for detailed project discussions.

7.3 Github and Project Automation

Usage: For version control and project management, we chose GitHub. The GitHub project automation was used extensively to streamline our workflows.

Evaluation: GitHub’s automation tools, such as automated issue assignments and progress tracking, have increased our productivity by reducing manual overhead. Automated Kanban boards allowed for a clear visualization of task statuses, and GitHub Actions helped in managing CI/CD pipelines. The integration of GitHub with other tools has provided a central hub for our code and project tracking.

7.4 Figma

Usage: Figma was our main design tool for creating mockups.

Evaluation: Its collaborative features allowed multiple team members to work on designs simultaneously. Also it’s design structure allowed us to create mockups faster after creating the first a few ones.

📋 Lab Reports

📆 Meeting Notes

🧪 Lab Meetings

🗓️ General Meetings

⚙️ Backend Meetings

📝 Milestone Reports

📑 Project Documents

📜 Docs

📋 Requirements & Elicitation

✏️ Scenarios & Mockups

🗂 Plan & Roles

📊 Diagrams

👥 Team

SemanticFlix Archieve

📝 Milestone Reports

📆 Meeting Notes

🧾 Requirements

Project Plan

📊 Diagrams

👥 Team

📝 Researches

Repository Documentations

📁 Templates

Clone this wiki locally