Milestone Report 1 - bounswe/bounswe2024group12 GitHub Wiki

CMPE 352 Milestone Report 1

Group 12

Contributors:

1. Executive Summary

1.1. Summary of the Project

Our project is a platform about video games where video game enthusiasts can review games they played, create lists of games, make semantic searches about video game related contents and so on. The contents we are focusing on are nearly everything related to video games such as games themselves, game developers and publisher, game director, genres, voice actors, composers... A user will be able to navigate through pages dedicated to games which include rating, some general information about the game, useful links about the game, reviews of the game that are written by other users. Our platform also supports creating personal pages and playlists that can be about anything ranges from favorite games of a particular genre to games to be played later by the greater of the playlist. Overall, our project aims to create a platform where every video gamer can find contents and features they need and incorporate different features into only one platform that they can already be able to do in different platforms. Isn't it the dream of every gamer?

1.2. Status of Deliverables

Name Status Link
Communication Plan Completed Communication Plan
Meeting Notes Updated weekly First Meeting Note
README Document Completed README
Repository Research Completed Repository Research
Personal Efforts Updated weekly Under personal pages
Project Repository Up to date Repository
Domain Analysis and Research Completed Pages under Research section
Requirements Completed Requirements
Responsibility Assignment Matrix Completed RAM
Project Plan Up to date Project Plan
Mockups Completed Mockups
Scenarios Completed Scenarios
Issues Created when necessary Accessible at repository

1.3. Decisions and Choices

  • We are gathering every Wednesday at 20.30 on Google Meet. Generally our meetings last 1.5 hours. We have also a Discord server where we can meet separately and have topic-based discussions.
  • We share the workload of weekly task in our meetings and open issues according to the conclusion of our meetings. We share tasks on voluntary basis. Isil takes notes in the meeting and documents them after the meetings. Firat also prepares an outline which includes topics we should discuss during the meeting. *We are using Wiki page of our repository and issues very frequently. We open issues for every task we decided to accomplish in weekly meetings. We document our results and reports on our Wiki page which can be navigated very easily through its sidebar and links.
  • Everyone in our group has their personal pages including brief information about us. Additionally we document our weekly effort in our personal pages on a weekly basis.
  • We agreed upon the the topic of video games as our domain since it has quite a bit of data in Wikidata and topic is interesting for us all.
  • Our video game platform will consists of pages dedicated to games and users will be able to like them, review them, give rating to them, and add them into their lists which are created by them. Users can also customize their personal pages either to organize their playing video games routine or to display it to other users or their friends. Users will be able to make semantic search about video games so that they can access those games' pages.

1.4. Challenges Encountered

  • Our weekly meeting takes much more time than our expectations.
  • Overall communication and task sharing was difficult to maintain in such a large team.
  • We still haven't prepared proper issue templates, which was challenging for us since no one in our group knows how to create one.
  • Formalizing the contents of our platform was very challenging. It took a lot of time to decide on requirements and sometimes deciding on some small features burdened us.
  • Creating mockups was quite a challenge. It took very long to create mockups for our platform.

2. Project Plan

Project plan can be accessible from here.

3. Table of Work Done by Each Team Member

Team Member Contribution Issue Link Wiki Link (If Applicable)
Ahmet Bayir Actively participated in weekly meetings and also an extra meeting.
Researching about API types then adding to useful resources
Selecting optimal app for designing mockups
Designing mockups with Taha and Isil #66
Wrote the work done section of milestone report 1. #86 Milestone Report 1
Ahmet Firat Gamsiz Actively participated in weekly meetings and also an extra meeting. - -
Created, closed and reviewed completeness of personal and group issues and contributed to keep them tidy. - -
Regularly reviewed personal and team mates work. Gave feedback and ideas to improve the quality of work. Checked wiki pages and do small adjustments and corrections. Also communicated with other teams' members and analysed previous years' teams' repositories regularly. - -
Made templates for repository research and useful resources pages. Also included five resources with their descriptions. #3 and #5 Repository Research Template and Useful Resources Template
Created my personal page. Regularly filled personal effort segment. #20 My personal wiki page
Researched some interesting repositories on GitHub. Decided on reporting an open source machine learning library called Transformers. Wrote repository research report following the template. #19 Repository Research Page
Researched about issue types and templates. Created an issue template in the wiki page #12 Template page
Researched linked data, semantic web and Wikidata. Wrote a research report on Wiki. #57 Wikidata Research
Brainstormed about domain ideas. Came up with the domain idea of "video games". - -
Prepared meeting agenda before meetings. Analysed what needs to be discussed and estimated how long it will take. - -
Conducted domain analysis. Signed up to different websites related to video games or item logging. Inspected different pages and functionalities of those webpages. Wrote down a domain analysis report with Isil Su. Also conducted requirements elicitation after analysis, produced and presented a template of requirements to the team. #65 Domain Analysis Page
Wrote down requirements with Orhan and Asya Su (a.k.a. Requirements Specification). Wrote down some of the elicitation questions. Revised the requirements page for wording changes after customer meeting. #67, #74 and #75 Requirements Page and Elicitation Questions Page
Contributed to Responsibility Assignment Matrix. Added personal tasks to RAM. - RAM
Created outline for milestone report 1. Wrote down the status of deliverables. Wrote down work done section of himself. #76 and #85 Milestone Report 1
Asya Su Sen Actively participated in pre-planned weekly meetings. - -
Regularly reviewed personal and team mates work to make sure that we met the given deadlines. - -
Conducted research on Git to familiarize myself. - -
Researched and documented Manim for Repository research and documentation while following the template. #29 Repository Research Page
Researched and created labels for our issues. - Issues Page
Created my personal page and regularly filled weekly efforts. #34 My personal wiki page
Fixed and regularized types in Weekly Efforts to make our wiki more coherent. #53 Weekly Effort Template
Researched and prepared a documentation about back end side of web application development. #61 Web Development Research Page
Researched about common video game apis to understand the scope and possible difficulties of the project in order to give feedback about our domain idea. - -
Wrote requirements specification page with Ahmet and Orhan and researched about non functional requirements. #67 Requirements Page
Reviewed requirements page according to elicitation questions. #74 and #75 Elicitation Questions and Requirements Page
Wrote the work done section of milestone report 1. #86 Milestone Report 1
Arda Yalcindag Actively attended to the weekly and other meetings except meeting 5 and customer meeting. - First Meeting
Opened, closed, and followed the issues related to both my tasks and other team members' tasks. - -
Actively participated in discussions in our communication channels. Discussed the assignments and gave feedback to other team members while considering their feedbacks as well. Regularly checked our wiki page and made sure whether it is correct and complete. - -
Created a template for personal pages so that all team members can create their personal pages. Added template to the Wiki. #13 Personal Page Template
Created my own personal page and updated it regularly by writing my personal effort on weekly basis. #33 Personal Page of Arda Yalcindag
Made some research about Git as a distributed version control system and watched "Git for Ages 4 and Up" video. Didn't documented my research. #41 -
Researched some interesting repositories in GitHub. I decided to write a report about the repository I like which is Developer Roadmap. Written a report and added in to our repository research page. #24 Repository Research Page
Conducted a research about SPARQL and Wikidata API. Added my research report to the Wikidata Research page. #60 Wikidata Research Page
Discussed with my group members about domain topics and proposed some concrete ideas. Participated on the poll we created. - -
Conducted and written scenarios with Yusuf, Batuhan, and Soner. Researched about how can we write scenarios. Written Scenario 1 according to the requirements, so that we can use it as a template. Communicated with other team members responsible for this task and organized them. #69 Scenario 1
While writing scenarios, I thought about some elicitation questions and added it to our collaborative document so that we can ask them in the customer meeting. - Elicitation Questions
Written the "Executive Summary" part of the Milestone Report 1 except the "Status of Deliverables" part. Also filled my personal part in the "Work Done" section. #78 and #83 Milestone Report 1
Ensured that Milestone 1 criteria is met by checking our repository and communicating with my team members. #70 -
Isil Su Karakuzu Initiated the initial group meeting and consistently participated in all subsequent meetings, including the Extra Meeting and Customer Meeting. Took detailed notes during each session and proactively communicated with the TA by asking elicitation questions. Set up a Drive folder and Discord Server for seamless communication and information sharing. Played a key role in organizing team activities and managing tasks effectively, including checking the completeness of issues. Set up polls to establish the regular meeting date and schedule extra meetings. Implemented lecture feedback into the repository accordingly. Added all meeting notes to the wiki and also added answers to elicitation questions. #9, #47 Customer Meeting ‐ 17.03.2024, Extra Meeting ‐ 15.03.2024, Meeting #5 ‐ 13.03.2024, Meeting #4 ‐ 06.03.2024, Meeting #3 ‐ 28.02.2024, Meeting #2 ‐ 21.02.2024, Meeting #1 ‐ 16.02.2024, Elicitation Questions
Created README and about sections for the repository. Designed a meeting notes template for consistent documentation. Initialized and enhanced wiki organization by adding a sidebar, sorting templates, and grouping similar pages together. Also, set up my personal page and updated weekly effort tables regularly. #8, #11, #14, #15, #16, #17, #36, #82 Meeting Notes Template, Home, Isil Su Karakuzu, README.md,
Researched and learned about Git, as well as documented a repository that I found interesting, 'Python'. Implemented issue templates in the codebase after researching them. Documented Mobile application development on the wiki through research. Participated in group discussions on domain topics and proposed ideas. Took part in the group poll to select the domain. Worked with Ahmet Firat to analyze the 'Game domain' and wrote the letterbox section with photos for the wiki. #26, #40, #43, #50, #59, #65 Repository Research, Issue Template, Domain Analysis - Video Games, Mobile Development Research
Collaborated with Ahmet Bayir and Taha to design basic web project images using Figma for requirements, mockups, and scenarios. Updated RAM with my assigned tasks and divided responsibilities for the Milestone 1 Report, ensuring their completion. Wrote the "4. Evaluation of Tools and Processes" section and fulfilled my role in the "Table of Work Done by Each Team Member" section for the Milestone 1 Report. #66, #77, #81, #88 Responsibility Assignment Matrix, Milestone Report 1
Mehmet Batuhan Cok Participated in pre-planned weekly meetings. - -
Conducted research on Git - -
Initialized wiki and created general outline #2 Wiki
Conducted research on the Tensorflow GitHub repository that I previously used. #28 Repository Research
Initialized requirements page with Yusuf #56 Requirements
(edited and completed by others)
Writed user scenario for application #69 Scenario-3
Orhan Unuvar Actively participated in weekly meetings, an extra meeting this week, and the customer meeting we had with the TA. - -
Created my personal page. Regularly filled personal effort segment. #37 My personal wiki page
Did Git research. #46 -
Researched some interesting repositories on GitHub. Decided to report Verilator. Wrote repository research report following the template. #30 Repository Research Page
Brainstormed about domain ideas. Came up with the domain idea of "technology". - -
Wrote down requirements with Firat and Asya Su (a.k.a. Requirements Specification). Wrote down some of the elicitation questions. Revised the requirements page for wording changes after customer meeting. #67, #74 and #75 Requirements Page and Elicitation Questions Page
Did research on mobile application development. Created the report wiki page for it. #59 Mobile Development Research
Soner Kuyar Developed the communication plan detailing meeting schedules and platforms for effective team coordination. #7 Communication Plan
Compiled a comprehensive personal wiki page to document weekly contributions and progress. #18 Wiki link
Conducted thorough research on repositories, identifying valuable resources to incorporate into the team's wiki. I added React repository to researches. #22 Wiki link
Investigated GitHub's Project Feature, assuming responsibility for the setup and management of the team's project page. #54 Wiki link
Researched web development with Asya Su Şen, fundamentals to enrich the team's wiki with essential information prior to project initiation. Because web development has a crucial role in any request based application. A added also some useful materials and create the research page structure. #61 Wiki link
Formulated the Responsibility Assignment Matrix, delineating roles and responsibilities within the team. #71 Wiki link
Authored detailed user scenarios with Arda and Yusuf to guide the development process and enhance understanding of the project's end-users. #69 Wiki link
Drafted the project plan section of the report, outlining objectives, timelines, and deliverables. Organized the our Project page and added some specialized fields and subfields. #79 Wiki link
Consistently participated in all team meetings, contributing valuable insights and fostering collaborative discussion. - Wiki link
Designed the Gantt Chart to visually represent the project timeline and key milestones. - Wiki link
Taha Ensar Kukul Actively participated in the weekly meetings. - -
Researched end learned more about Git. #45 -
Set up my personal info page. #38 Wiki Page
Edited the meeting notes. Added the related issue link to the decision which was concluded in the meeting. #48 Wiki Page
Researched more about API's and the usage of them #62 Wiki Page
Yusuf Aygun Actively participated in weekly meetings. - -
Created a personal wiki page following the appropriate template for myself and updated it accurately to reflect my contributions weekly. #39 Yusuf Aygun
Made some research and used appropiate resources to learn about Git and Github, practiced about using Github #42 -
Made a research and wrote a document about a repository called ChatterBot and added it under the wiki page. #31 ChatterBot
Updated and organized the issue labels as discussed in meeting 2 #51 -
Brainstormed about domain ideas and proposed the domain idea of "European Footbal". - -
Initialized the requirements page by creating a template #56 Requirements
(edited and completed by others)
Conducted and Wrote 2 user scenarios according to the requirements, communicated about scenarios section with Arda, Batuhan, and Soner. #69 Scenario 2
Scenario 4
Regularly reviewed our repository. Time to time, communicated with some team members to check the process. Checked wiki pages and do small adjustments and corrections related to design and asthetic of the pages. Analysed previous years' repositories regularly. - -
Documented my efforts throughout Milestone 1 #92 Milestone Report 1

4. Evaluation of Tools and Processes

4.1 Evaluation of Tools

4.1.1 Github

GitHub is a platform for sharing and collaborating on software code. We chose GitHub for our project due to its useful features, including issue tracking and wiki. GitHub's issue tracking helped us manage tasks and address project-related concerns efficiently. Additionally, the wiki feature provided a centralized space for documentation, making project resources easily accessible to all team members. Overall, GitHub streamlined our project management process, promoting collaboration and organization.

4.1.2 Discord

Discord is a popular communication platform for text, voice, and video chat, used by gamers and diverse communities. We chose Discord for communication because it's user-friendly and offers both messaging and voice chat. Its ability to organize topics into different text channels helped us collaborate effectively, ensuring everyone stayed informed. Discord's popularity and frequent use among team members made it the natural choice for our communication platform.

Our Discord Server

4.1.3 Google Drive & Docs

Google Docs and Drive offer document creation, collaboration, and storage solutions. Docs is an online word processor for real-time collaboration, while Drive provides cloud storage accessible from any device. Their integration enables seamless document creation and collaboration. We used Google Docs and Drive to organize meeting notes, research documents, and materials, ensuring effective collaboration and preventing information loss. By integrating content from Google Docs, rather than directly editing our wiki page, we maintained its quality and consistency.

4.1.4 Figma

Figma is a design tool for creating and collaborating on digital designs, like websites and mobile apps. It enables real-time collaboration and offers various templates. We chose Figma for its wide template range, simplifying design work. Despite our lack of experience with Figma, its industry acceptance motivated us to learn and use it, presenting a valuable challenge. Our experience with Figma highlighted its user-friendly interface and diverse template library for mobile and desktop designs. Additionally, the community page provided valuable insights and inspiration for our design projects.

4.2 Evaluation of Processes

4.2.1 Team Meetings

Every Wednesday at 20:30, the entire team gathers to discuss the week's topics and tasks. These meetings take place on Google Meet and typically last for an hour. Before each meeting, we outline the discussion topics and estimate the time needed for each topic to prevent meetings from running longer than expected and becoming tiring. During the meeting, we review our agenda and allocate tasks that arise from it. A designated note-taker records notes and tasks, including deadlines and responsible team members. These meeting notes are later organized and added to the wiki for reference and examination. Team members can access the document file even if the meeting notes are not directly on the wiki, ensuring continuous teamwork.

4.2.2 Issue Management

We organize our project workflow mainly through GitHub's issue management system. During meetings, we divide tasks among team members and create corresponding issues in our GitHub repository. Each issue is assigned to a maximum of three members. If needed, additional sub-issues are opened by a team member to handle larger tasks. Our issue templates include a title, description, acceptance criteria, sub-issues, and reviewers. Labels are used to prioritize and categorize issues, helping ensure clarity on tasks and deadlines for team members, and allowing for a review process before completion.

4.2.3 What We Learned?

Project development with a team of 10 proved challenging. Our main difficulty arose from confusion between Discord and WhatsApp usage, dividing the team. To address this, we established clear guidelines on tool usage, fostering better communication and problem-solving during meetings. We learned that regular communication is vital for project progress and that ambiguity can disrupt workflow. Additionally, we realized the importance of everyone following up on key project components, not just the assignees, to avoid future problems.

⚠️ **GitHub.com Fallback** ⚠️