-
Notifications
You must be signed in to change notification settings - Fork 1
CMPE 352 ‐ Milestone 1 Report
- 1 Executive Summary
- 2 Project Plan
- 3 Contribution Table
- 4 Evaluation of Tools and Processes
Our project is to create a vibrant and interactive discussion forum dedicated to the Turkish Football League, "Süper Lig." By integrating features like team based communities, personalized user profiles, and content-sharing capabilities, our platform caters specifically to football fans. Utilizing the Wikidata API and semantic browsing, we aim to significantly enhance the search functionality within the app, allowing users to find information and content more efficiently and intuitively. Users can register and personalize their accounts, engage with others by creating or interacting with posts and comments within their favorite team's community, and enjoy a rich social experience around their football passion. Key functionalities include account management, community subscriptions, and interactive posting with options for images, tags, and emotional reactions. Our aim is to enhance the social media landscape for Süper Lig enthusiasts, offering a web and mobile application that centralizes fan discussions, fosters community spirit, and keeps fans connected with the latest in football, all within a team focused environment.
We've been working hard to make steady and reliable progress. From the beginning of the project we have formed our GitHub repository and its Wiki Page to provide an overview of our project for both our group members and anyone interested in the project. Our wiki contains documentation about our progress and work such as our Communication Plan, Weekly Meeting Notes, our research about relevant technologies and practices that we will use in our project.
Upon learning the topic of our project, we have worked as a team to choose a suitable domain and quickly started preparing the requirements of the project. However we had some questions that needed to be clarified so we have discussed these in one of our weekly meetings and documented it in our Wiki. After a meeting with where we have unveiled the answer to those questions, we have prepared some Mockups and Scenarios to visualize and make it easier to understand what this project really aims to create and provide to the user.
While doing all of those, we have tracked our progress and objectives using GitHub's issue and project features. Also, to ease the workload of the group members while doing all these hard work, we have created and implemented some templates such as using our issue template and meeting notes template.
Deliverable | Status |
---|---|
Project Repository | Completed |
Issues | Completed |
Wiki | Completed |
Communication Plan & Schedules | Completed |
Project Requirements | Completed & Maintained |
Mockups | Completed |
User Scenarios | Completed |
Research About Project | Completed |
Weekly Meeting Notes | Completed |
Milestone 1 Report | Completed |
This section of our milestone report outlines and evaluates the critical decisions and choices made throughout the development of our project. The focal points of this analysis include our conventions and methodologies pertaining to issue management, meetings, and wiki documentation.
The selection of our project domain was a collaborative effort that unfolded over several discussions and meetings. Initially, in our 4th meeting conducted on Discord, we explored various potential domains without reaching a definitive conclusion. However, we recognized a mutual inclination towards a sports-related theme. Subsequent discussion took place in our WhatsApp group, where a poll was conducted and in the same week another meeting was held and discussed the domain to finalize the decision. The outcome of the poll and the discussion on the meeting indicated a strong preference for focusing on the Turkish Süper Lig, which we subsequently adopted as our project domain.
Our approach to issue management has been dynamic, adapting to the evolving needs of the project. Initially, our label system was minimal, but as new requirements emerged from ongoing tasks, our labeling strategy expanded. These enhancements were discussed and agreed upon in successive meetings, ensuring that any additions were necessary and beneficial.
Now we have a proper way of opening and closing an issue:
Our current issue management system categorizes issues using three primary label types:
- Type of Issue: This includes categories such as discussion, documentation, maintenance, and questions.
- Status of Issue: Labels reflect the progress, such as "In Progress" or "Completed."
- Priority of Issue: This indicates the urgency, such as "High" or "Low."
- Duration of Issue: This estimates how much of an effort it takes to accomplish the issue.
Furthermore, we instituted an issue template to streamline the creation process. The template ensures consistency and clarity by prompting the user to specify a title, a detailed description, an issue due date for the assignee, a reviewer for quality assurance, and a revision due date for the reviewer. Each issue must be accompanied by the selection of relevant labels, assignment of responsible individuals, and linkage to the appropriate milestone or project. After the assignee thinks it is finished he/she labels it as review needed. Then the reviewer give feedback if needed or should close the issue if it seems done with a descriptive comment.
Periodically, a team member, designated during our meetings, is tasked with organizing and reformatting any issues that do not adhere to our established standards.
To maintain an organized approach to our meetings we did the followings:
- A different team member is selected at each meeting to document the proceedings and formulate the action items.
- Regular meetings are scheduled for Wednesdays at 20:00, as determined by a WhatsApp poll.
- Any additional meetings required within the week are scheduled through a subsequent poll in our WhatsApp group.
We used the sidebar as a navigation aid, allowing users to quickly access different sections of the Wiki related to the project.
-
Home serves as the main introduction and starting point of the Wiki, providing a quick summary and orientation to the project.
-
Project is where we keep the pages related to Milestones and upcoming projects
-
Research includes collected information and findings on various technical topics that support the project's development.
-
Assignments tracks specific tasks or deliverables assigned to team members over the course of the project.
-
Meeting Notes organizes the details of what was discussed during each team meeting, listed by date.
-
Team Members lists the names of individuals involved in the project, including their personalities and experiences.
-
Templates stores the frequently used page templates like Meeting Notes
One of the first challenges that we encountered was choosing a weekly meeting time that suited all team members. Of course, as we are working in a relatively large team, it was not easy to find a time slot that worked for every single person. To overcome this issue, we thought that it would be more beneficial to meet earlier in the week (at most 1-2 days after the lecture), and opened a poll to determine what time would be optimal for most members of the group. This strategy was successful, as we had at most 1-2 absentees in each weekly meeting.
Another problem occurred while we were writing the project requirements as a team. We were able to determine most of the requirements, but there were some ambiguities left in our minds. In order to sort these out, we wrote some requirements elicitation questions to ask the customer (the teaching assistant) later. Afterwards, we had a meeting with our teaching assistant, who gave us advice about which requirements would be doable, and which would be unnecessary.
We will be using GitHub Project Roadmap to track our objectives and schedule. We have been using it to track our current issues but we have also planned and scheduled our future fundamental steps. You can inspect our roadmap here.
Member | Contribution |
---|---|
Yekta Ercul | Initially, I focused on foundational research and documentation, creating a detailed report on Spring Boot that can be viewed here, addressing issue #25. Furthermore, I created my personal page, a task linked to issue #19. In the second week I introduced duration labels to our GitHub issues, as per issue #29, and contributed to our team's understanding of branch management during the meeting, which was associated with issue #34. In the third week, I took the meeting notes and in the meeting explained why should we use Spring Boot in our backend.By the fourth week, I explored Wikidata and its API here, addressing issue #38. In the fifth week, I created a simple version of our requirements during the meeting. Additionally, I reviewed and made suggestions for refining our Requirements and Elicitation Questions and Scenarios, contributing to issues #44, #47 and #46, and I also added performance-related requirements addressed as in #48. During the sixth week, I added the Decision-making and Assessment section to the Milestone report, and addressing issue #51. I also led a crucial meeting with our assistant and my team, asking pertinent questions and providing feedback to the team about Requirements, Scenarios and Mockups in the issues #47 and #44. Also I have attented and contributed to all of the 6 meetings. |
Eren Donmez | In the first week, I created my personal wiki page (#9), and conducted research about my favorite Github repository, which is the CPython repo, and documented my findings on the wiki here (#16). In the third week, I was the note taker in the weekly meeting. In the fourth week, I conducted research on linked data and SPARQL, and documented my findings on the wiki here (#39). In the fifth week, after attending the meeting in which we discussed the requirements as a team, I wrote requirements elicitation questions to be directed at the TA (#46). I also added a glossary section to the requirements (#44). In the sixth week, I contributed to preparing the first milestone report by adding the challenges section (#56). In addition to all these, I attended all of the meetings with the team throughout the weeks. |
Ersel Çanakçılı | First things I contribute were creating a personal page about me and adding a research page about Numpy GitHub repository to our wiki page. The resulting pages are Personal Page and Research Page respectively. In the second week, I did research about GitHub Projects to understand how can we use that in our project efficiently. The corresponding issue is #31. In the third week, I was unable to contribute to the project actively so I just reviewed my work. To standardize our issue, I decided to create an issue template for our tasks. Our template can be found here. In the fifth week, we made a meeting to capture our requirements of the project and I was the note taker of the meeting. Additionally, we created mockups for our project with Oğuz Kağnıcı and created a page for them. Lastly, I attended almost all the meetings via discord. |
Oğuz Kağnıcı | In the first week, I have prepared a personal introduction page, addressing issue #12. I have also written an introductory text for a repository that I found really interesting (Large World Model), addressing issue #24. Then, in the following week, I was the note taker for our weekly meeting. As of fourth week, I conducted a research on best practices for GitHub project management and examined various repositories including the projects from past years for this course with the issue #43. Then I have started creating mockups for our first deliverable and updated them several times based on the discussions within our group, addressing issue #45. Finally, in the sixth week, I have prepared the summary and tool evaluation sections for this report with issues #60 and #61. Also I have attended and contributed to all 6 meetings. |
Onur Çerli | Firstly, I started with the creation of the personal wiki page. Then I conducted a research about a repository I like and have been using lately. I documented about their issue management and their repository structure on the research page. In the second week, I updated the research page according to the feedback given in the lecture also added some of the labels from the repo, which I think is useful for issue management, to our repository. In the third week, I made some preliminary research about web development for our practice project and documented it on this page. In the fourth and fifth week, I have been responsible for creation of scenarions. So, I made research about writing scenarios and then created the scenarios page. Additional to these, I have attended the meetings and participated in the brainstorming for parts of the project that require discussion. |
Deniz Ulaş Poyraz | I created a wiki page and did a research on a repository I recently used. Attended to meetings as much as I can and took some notes. I then decided to do a research on Android Studio since the project expects us to develop a mobile application. Lastly I created our project on github and I tried my best to adjust it to our team. |
Ceylanberk Tola | I've been involved in various tasks to support our project. I started by creating a personal wiki page to organize our work. Then, I researched a repository I often use and documented its issue management and structure. I also improved our research page based on lecture feedback and added helpful labels from the repository to our system. Additionally, I looked into mobile app development for our project and create a research page about it. I attended weekly meetings. Overall, I've been actively contributing to our team discussions and project organization. |
Sezer Çot | I created a personal introduction for myself. Also I created my favorite repo (OpenCV). Before the creation, I created templates for research, team members, and meeting plan pages. Also, I created a discussion issue to modify issue labels. Lastly, I made research about our requirements and analyzed similar platforms for the functions on the project. |
Dağhan Erdönmez | In the first week, I have planned and created the wiki page for our group (#6, #15) that includes creating necessary pages and a sidebar design to navigate easily on the wiki, I have also created my personal wiki page (#7) and conducted research about a well built GitHub repository Selenium which uses GitHub's features nicely. The report I've written as a result of my research can be seen here (#14). I have also created a very basic README page for our repository (#5) and added a table structure to our Personal Wiki Page Template to display our weekly efforts (#20). In the second week I have updated all of the issue names in our repository according to the warnings done in the lectures and PS sessions (#32). I have also slightly modified my repository research about Selenium according to similar warnings done in the class (#33). In the third week I have started to do some research about my designated research topic, API Development and Utilization which also continued on the forth week that resulted in a research report (#40). On weekly meeting #4 it was my turn to take and prepare meeting notes. On week five, I have prepared the Project Requirements page which was discussed and roughly created as a draft on the meeting #6 by attending group members. Yekta Ercul and Eren Dönmez have also helped me doing the task. (#44). I have also done modifications on the same documentation, thanks to the feedback of Yekta Ercul. I have prepared the Project Plan and Contribution Table parts of our Milestone 1 Report. I have also done major improvements and additions to Executive Summary part. (#51). Besides all of these, I have reviewed some of my teammates issues, which I have been assigned to review. I have attended actively on all of the weekly meetings. |
GitHub is our main platform for the development of this project. We have mainly used issues and milestones to track our progress and report any errors and tasks that should be handled. GitHub Roadmap was also used for creating a project plan.
We have chosen Discord as our medium for our weekly scheduled meetings. Furthermore, we have also used discord to share various files and materials about our project to receive feedback.
WhatsApp was used for spontaneous communication purposes. We informed each other with important/urgent information regarding the project. We have also created polls to determine several important topics such as meeting dates.
HackMD was our choice for writing/editing MD files. It helped a lot to collaborate and synchronize while writing comprehensive MD files.
Google Docs was our main note-taking app. We have used it both during our group meetings and TA meetings to jot down our ideas during those meetings.
Overall we are satisfied with our practices and choices of apps. We are most likely going to proceed with our current methods in the future.
🏠Home
- Third Customer Milestone Report
- RAM
- Requirements
- Mockups
- Sequence Diagrams
- Use Case Diagram
- Class Diagrams
- Scenarios
- User Scenario
- User Manual
- System Manual
- Third Customer Milestone Report
- Second Customer Milestone Report
- First Customer Milestone Report
- RAM
- Requirements
- Mockups
- Sequence Diagrams
- Scenarios
- Use Case Diagram
- Class Diagrams
- Software Quality Plan
- Milestone1 Presentation Scenarios
- Post Creation Page
- User Scenario
- Meeting Notes 10 - Dec 10
- Meeting Notes 9 - Dec 3
- Meeting Notes 8 - Nov 17
- Meeting Notes 7 - Nov 12
- Meeting Notes 6 - Nov 5
- Optional Meeting Notes 1 ‐ Oct 21
- Meeting Notes 5 - Oct 15
- Meeting Notes 4 - Oct 8
- Meeting Notes 3 - Oct 3
- Meeting Notes 2 - Oct 1
- Meeting Notes 1 - Sep 24
- Deniz Ulaş Poyraz
- Eren Donmez
- Ersel Çanakçılı
- Oğuz Kağnıcı
- Onur Çerli
- Yekta Ercul
- Ali Alperen Sönmez
- Huseyin Turker Erdem
- Mehmet Tuluyhan Sozen
352 Material
- Final Milestone Report
- Milestone 2 Report
- RAM
- Use Case Diagram
- Sequence Diagrams
- Class Diagrams
- Requirements
- Elicitation Questions
- Mockups
- Scenarios
- Milestone 1 Report
- Our Favourite Repositories
- Linked Data and SPARQL
- Web Application Development
- API Development and Utilization
- Wikidata and Wikidata API
- Mobile Application Development
- Android Studio
- Git
- Meeting Notes 10 ‐ May 10th
- Meeting Notes 9 ‐ Apr 25th
- Meeting Notes 8 ‐ Apr 21st
- Meeting Notes 7 ‐ Apr 12th
- Meeting Notes 6 ‐ Mar 14th
- Meeting Notes 5 ‐ Mar 11th
- Meeting Notes 4 - Mar 7th
- Meeting Notes 3 - Mar 3rd
- Meeting Notes 2 - Feb 22nd
- Meeting Notes 1 - Feb 18th