Milestone 1 Report - bounswe/bounswe2024group6 GitHub Wiki
1. Executive Summary
Summary of Project and Overall Status
Our project is a domain-specific semantic information browser for “Architecture”. To put it more clearly, it is a browser in which you can search for remarkable buildings (architectural works), renowned architects and architectural styles as well as users can post blog posts related to architecture. In this site, users are also able to communicate with each other by posting blogs, commenting on blog posts, liking and bookmarking them - in that way, this app can also be considered as a social media platform (for distinguished architecture enthusiasts). The app will thrive on the WikiData API as it provides information about all things architecture with quality and quantity. A software project’s lifecycle can be summarized in five stages: Requirements, Design, Implementation, Verification and Maintenance. We have recently completed our requirements phase and slightly got into the design phase. In the first weeks we have delved into details of github and tried to learn and got expert in it. Afterwards we have completed research assignments. After all of those preperation phase, we have given a start to the project by starting discussing our domain and how the project should be Requirements was the phase following all those prior work. Now we are ready to move to the design phase.
Status of Deliverables
Our milestone deliverables consist of a milestone report, issues and wiki(communication plan, requirements, meeting notes etc.). As it can be seen here, the milestone report is written in a contributed manner by the team members. We have assigned different parts of the report to the team members who attended to the meeting at 17th of March. So far, we have 47 closed and 11 open issues, which is very tentative and expected to rise after the weekly meeting tomorrow. Following is the list of our deliverables with their status:
Deliverable | Status |
---|---|
Milestone Report | Completed |
Repository | Completed |
Issues | Completed |
Communication Plan | Completed |
Project Plan | Completed |
Requirements | Completed |
Mockups and Scenarios | Completed |
Git as a Version Management System | Completed |
Favourite Repositories | Completed |
Domain Analysis | Completed |
Meeting Notes | Completed |
Decisions and Choices
For issue handling, we have devised our own approach in meetings. To simply put this approach, we are selecting a person which we call “tracker” for every meeting. This person(tracker) is responsible for hosting the meeting. This includes deciding the place and date of the meeting by asking the other group members. Tracker is also responsible for writing down meeting notes and after each meeting opening issues for the tasks that we have splitted among us in the meeting. Tracker, as the name suggests, follows the progress of those issues and he/she is the authority for those issues to close and send it to revision if needed. Our wiki consists of multiple parts, however, in this report as it is remarked in the guidance text, we will delve into details of communication plan, project plan, requirements, mockups, scenarios , research, meeting notes.
Challenges
Even though not many, we ran into a couple of challenges. In the first weeks, we did not start with definite templates for our personal efforts, meeting notes. Later by doing online research, we found templates that are clear and understandable. Also, finding a topic for the project was complicated, but again reaching the solution has been a collective process. After lots of ideas, we found the project that fits best to us by means of democratic voting. With all honesty, we can also say that we might not have been the best at managing our time. We, mainly collectively, struggled to match the pace of the course and the project at the start and this affected the road to the first milestone. Last week before the milestone was a “milestone” itself for the team, though, as we first got together in person and got to know each other besides our Discord profile pictures. This physical meeting got the whole group to act as a whole and motivated us - we thought that meeting in person every once in a while if everyone is available would do us good.
Communication Plan Our communication plan can be seen here as it mentioned in the “Communication Plan” section in the Wiki page:
Aspect | Information |
---|---|
Who will participate | All group members |
Where | Discord |
Purpose | Distribution of tasks (Wednesday) / Evaluating progress, giving feedback (Monday) |
When | Every Wednesday 9-9.30 P.M. / Every Monday 9-11 P.M. |
Time Every Wednesday 9-9.30 P.M. / Every Monday 9-11 P.M.
The plan presented above is our regular meeting basis. However, the program is tentative. We might cancel meetings if there are not many topics on the agenda. As well as this, we are gathering occasionally, especially before deadlines to catch up with deadlines. Also in the cases that we can arrange all together, we can opt for meeting face to face in the Computer Engineering Building / North Campus.
2. Project Plan
Project Name:
Searchitect-bounswe2024group6
Objective:
The aim of our project is to create an application focused on architectural styles, designed to provide users with the opportunity to explore different types of structures, learn about their historical significance, discover the regions they are located in, identify their architects, and access a wealth of related information. Additionally, users who have visited these architectural sites will have the opportunity to share comments, offer recommendations, and provide insights to others who have yet to visit, fostering a collaborative and informed community of architecture enthusiasts.
Scope:
Our application will include user registration, user profiles, posts, likes, comments, search functionalities, and integration with external APIs for retrieving architectural data. It will provide both guest and registered user access, allowing users to explore architectural content and interact with the platform.
Timeline:
Phase 1: Planning and Preparation (1 month)
- Define project requirements and objectives
- Assign roles and responsibilities within the team
- Set up development environment and tools
- Conduct initial research on architectural styles and related APIs
Phase 2: Development (2 months)
- Implement user registration and authentication functionalities
- Develop user profile management features
- Build post creation, viewing, and interaction functionalities
- Integrate search and sorting functionalities for architectural content
- Implement like/dislike and comment features for posts
- Integrate Google Maps API for location display
Phase 3: Testing and Quality Assurance (1 month)
- Conduct comprehensive testing of all features and functionalities
- Identify and resolve any bugs or issues
- Ensure compatibility across different browsers and devices
- Perform security testing and implement necessary measures
Phase 4: Deployment and Maintenance (0.5 month)
- Deploy the application to a production environment
- Monitor performance and address any performance issues
- Provide ongoing maintenance and support for the application
Resources:
Our project team consists of 10 members, all of whom are 3rd or 4th-year computer engineering students at Bogazici University. Each member brings unique skills and expertise to the project, including web development, database management, UI/UX design, and project management. We will utilize collaborative tools such as project management platforms and version control systems to facilitate communication and coordination within the team.
Tasks
Risks:
We need to consider potential risks to our project, including technical issues, API costs, and project delays. Some specific risks include:
- Unforeseen technical challenges during development
- API limitations or changes in external data sources
- Delays due to unforeseen circumstances such as illness or personal commitments
- Lack of communication or coordination within the team To mitigate these risks, we will maintain open communication within the team, regularly monitor progress, and have contingency plans in place for potential setbacks.
Dependencies
Future Plans:
Implementation Issues:
We will address any implementation issues as they arise during the development phase, prioritizing tasks based on their impact on project timelines and objectives.
Determining Teams:
Teams will be determined based on individual skills and interests, with each team focusing on specific aspects of development, testing, and deployment.
Developing Web Application & API:
We will use "wikiarquitectura.com" as the main API to gather architectural knowledge. Additionally, we will explore other relevant APIs identified during the research phase to enhance the functionality and content of our application.
UI/UX Design
Will implement the UI according to our scenarios and mock ups here.We will have user pages , login pages and other searching pages like architectural and architecht .
Quality Assurance:
We will conduct thorough testing and quality assurance measures to ensure the reliability, security, and usability of our application before deployment.
Final Report:
A final report will be prepared at the conclusion of the project, summarizing our achievements, challenges, lessons learned, and recommendations for future improvements.
3. Work Done By Each Member
Elif Nur Deniz
Task Details Issue Link Wiki Link Duration Attended all meetings including weekly meetings and project specific meetings. Also, actively participated in discussions and decision making. - #1, #2, #3, #4, #5, #6 total 7.35 hours Examined previous years' group repositories, wikis regularly to understand the tasks better - - continuous Created and updated my personal efforts/wiki page and wrote my personal efforts on a weekly basis issue Personal Wiki Page 15 mins each week Studied git as a version control system from the suggested sources and some additional ones and documented it issue Documentation 3 hours Searched for some repositories in Github and documented my favourite ones in details in wiki issue Personal Fav Repo 1 hour Did tracking on personal fav repos and week 4's researchs (domain analysis). Gave feedback when necessary. issue, issue - 30 mins Hosted week 4's meeting and distributed tasks among team members after discussing them in detail - Meeting 3 30 mins + 30 mins Decided on project domain and discussed features with group members. Talked about how to form the requirements page by studying examples - Meeting 5 2.45 hours Prepared the glossary page and added terms that will be used in our project issue Glossary 2 hours Prepared elicitation questions and asked them to the customer to make project details more clear by doing a research on elicitation questions issue Elicitation Questions 2.30 hours Created Work Done By Each Member page template for everyone to fill their contributions and filled it myself issue Work Done By Each Member 40 mins Created Responsibility Assignment Matrix and Filled it for Everyone issue Work Done By Each Member 2 hours
Kaan Yolcu
Task Details Issue Link Wiki Link Duration Participated almost all weekly meetings, contributed important discussions and desicion makings . - - total 7.05 hours Documented my favorite repository and stated what I liked most about it why it is beneficial #58 page 1 hours Watched the video advance in git understood git commands and the structure - - 60 mins Created Personal Wiki Page for what I have done that week and brief information about myself . Updated it weekly basis documented and organized my wiki page with tables #24 page 10 mins each week Was the tracker for my teammates' personal wiki and effort page process , checked all of the wiki pages and closed the issues #13 - 30 mins Studied the recent years' repositiories for contributing the wiki page and readme also editing my personal wiki page - - continous I made a brief web application development research examined various web sites documented my foundings and found a couple of videos documented beneficial for learning what web development is and ts fundamental parts #32 page 1 hour I made a project plan in ProjectLibre documented my team members contributions so far by examining the oppened and closed issues and discussed the plan of the rest and according to this documented the future work #55 page 2.5 hours I researched and discussed with my teammates about Non-Functional requirements determined them for our Project. #46 page 1 hours 20 minutes
Oktay Özel
Task Details Issue Link Wiki Link Duration Attended all meetings and have been active in the group. Took responsibility in both decision making and group activities. Meeting-1, Meeting-2, Meeting-3, Meeting-4, Meeting-5, Meeting-6 6 hours 30 mins Studied Git and made a documentation about my personal favourite repository. Issue Documentation 2 hours Created Weekly Effort template Issue Template 20 mins Created my personal Effort page Issue Page 15 mins Created my Personal Wiki & Effort Journal Page Issue My Page 30 mins I have done a research about Responsibility Assignment Matrix(RAM/RACI), documented it and presented in weekly meeting. Issue Documentation 2 hours 30 mins I have organized and chaired our meeting 5. I have written meeting notes and mentioned group member's task there. Meeting Notes 3 hours I have conducted my tracker task in week 5 opened issues accordingly and kept track of them. I have either closed completed issues or demanded a revision. Issue 3 hours I have done a research and contemplated User Requirements of our project. I have documented it in our Wiki. Issue User Requirements 1 hour 30 mins I have arranged an extra meeting with Yunus Emre and designed our project Mock-Up Issue 1 hour 30 mins I have contributed to executive summary of the Milestone-1. I have also arranged the medium for report of the milestone and helped arrangements in the page. Issue Link to Document 1 hour 30 mıns Assumed the responsibility to be communicator of the group. Communicated to the lecturers and to the instructor about our common issues and inquiries 30 mins Designed a banner and updated our wiki and homepage according to latest updates. Put the banner to the home page. Issue Banner 30 mins Studying previous years' repositories regularly to have a better grasp continious Compiled my work done since the beginning of the semester and ut them into this table Issue Work Done Page 1 hour
Battal Hazar
Task Details Issue Link Wiki Link Duration Attended all meetings(except M-5) including weekly meetings and project specific meetings. Also, actively participated in discussions and decision making. - #M-1, #M-2, #M-3, #M-4, , #M-6 total 6.30 hours Reviewed past group repositories and wikis consistently to gain a deeper understanding of the tasks - - continuous Created and updated my personal efforts/wiki page and wrote my personal efforts on a weekly basis issue Personal Wiki Page 15 mins each week Studied git as a version control system from the suggested sources and some additional ones and documented it issue Documentation 3 hours Researched several GitHub repositories and extensively documented my favorites in a wiki(Chess). issue Personal Fav Repo 1.30 hour Hosted meeting 5 and distributed tasks among team members after discussing them in detail - Meeting 5 30 mins Chose a project domain and collaborated with group members to outline features. Discussed strategies for creating the requirements page by examining examples. - Meeting 5 2 hours Prepared the answer the assignment of Evaluation of tools and processes issue Tools 2 hours I have done a research about Linked Data and SPARQL semantic queries , documented it and presented in weekly meeting with Yunus Emre issue Research 1.30 hours We did another meeting with Anıl to obtain and document system requirements issue Requirements 1 hour
Halil Özkan
Task Details Issue Link Wiki Link Duration Attended all meetings(except M-5) including weekly meetings and project specific meetings. Also, actively participated in discussions and decision making. - #M-1, #M-2, #M-3, #M-4, , #M-6 total 6.30 hours Reviewed past group repositories and wikis consistently to gain a deeper understanding of the tasks - - continuous Created my personal efforts/wiki page and wrote my personal efforts issue Personal Wiki Page 30 minutes Updated my personal efforts/wiki page and wrote my personal efforts on a weekly basis issue Personal Wiki Page 15 mins each week Eymen Çeliktürk and I made the research on Application Programming Interface (API) use and development and documented it issue API&Development 3 hours Oktay Özel and I created requirements page and prepared the user requirements part issue Requirements 2 hours Kaan Yolcu and I created Milestone 1 Project Plan page and prepared it issue Project Plan 5 hours
Eymen Çeliktürk
Task Details Issue Link Wiki Link Duration Attended all meetings including weekly meetings and project specific meetings. Also, actively participated in discussions and decision making. - #M-1, #M-2, #M-3, #M-4, #M-5 , #M-6 total 8 hours Reviewed past group repositories and wikis consistently to gain a deeper understanding of the tasks - - continuous Created my personal efforts/wiki page and wrote my personal efforts issue Personal Wiki Page 30 minutes Updated my personal efforts/wiki page and wrote my personal efforts on a weekly basis issue Personal Wiki Page 20 mins each week Halil Özkan and I made the research on Application Programming Interface (API) use and development and documented it issue API&Development 3 hours I created scenarios and mockups(Yunus Emre Özdemir) page and update when Yunus Emre Özdemir updates the mockups issue update Scenarios-Mockups 4 hours I updated the readme page for better styling issue issue 5 hours I was the tracker of the last week and had the responsibility to review final version of milestone 1 issue report 2 hours
Yunus Emre Özdemir
Task Details Issue Link Wiki Link Duration Attended all weekly meetings except Meeting-6, contributed to discussions and decision making process. - #1, #2, #3, #4, #5 6.30 hours Studied git from various resources, documented about Transformers repository in the Personal Favourite Repositories page Issue Our Favourite Repos 2 hours Created my Personal Wiki & Effort Page Issue Personal Wiki & Effort Page 30 minutes Updated my Personal Effort Journal every week - Personal Wiki & Effort Page 50 minutes Restructured the wiki home page Issue Wiki Home Page 1 hour Did a research on Linked Data and SPARQL semantic queries and documented it with Battal Hazar Issue Domain Analysis 1.30 hours Created a new meeting notes template Issue Meeting Notes Template 30 minutes Updated previous meetings' notes according to the new template Issue #1, #2, #3 1 hour Discussed and created the initial sketch of the app in a meeting with Oktay Özel Issue 1 hour 30 minutes Designed 20+ pages of mockups (Web/Desktop) Issue Scenarios and Mockup 11 hours Designed 5 example pages for the mobile mockups Issue Scenarios and Mockup 2 hours Filled my part in the Work Done by Each Member page Work Done Page 20 minutes
Aras Taşçı
Task Details Issue Link Wiki Link Duration Participated in all meetings (both weekly and project-specific) and actively took part in discussions and decision making. - #1, #2, #3, #4, #5, #6 7.5 hours total Helped determine our issue labels and manually created them #1 - 30 mins Organized the wiki sidebar for the first time with a third party tool named github-wiki-sidebar #6 - 20 mins Created the determined personal wiki template at the meeting. #10 Personal Wiki Template 5 mins Created my personal wiki page and wrote my contributions regularly #3, #16 Personal Wiki Page 15 mins each week Browsed GitHub to look at some interesting repos and wrote about my favourite one, and then updated it after collective revision #2, #22 Personal Fav Repo Page 2 hours Hosted the second week's meeting and distributed and assigned issues among group members #14 Meeting 2 90 mins Researched about mobile app development and documented my findings on the wiki #31 Research Page 1 hour At the fifth meeting, collaboratively decided on the project domain and discussed the outline of the features of the site - Meeting 5 2.45 hours After deciding on the project topic, found a website with a similar domain and documented my analysis on the interesting parts and shortcomings of it #50 Related Software Analysis 1.5 hours For the milestone report, contributed to the executive summary part by providing textual information for all the subsections and creating the list of deliverables and their status #54 - 2 hours Contributed to the evaluation of tools and processes part at the milestone report by writing the subsections of GitHub, WhatsApp and Discord and Remarks #57 - 30 mins Reviewed the scenarios and mockups part #67 Scenarios and Mockup 10 mins Filled my work done by each member part #66 - 25 mins
Anıl Köse
Task Details Issue Link Wiki Link Duration Participated in all meetings (both weekly and project-specific) and actively took part in discussions and decision making. - #1, #2, #3, #4, #5, #6 7.5 hours total Helped to determine the team's issue labels #1 - 30 mins I assigned the task to every group member to get advanced in git and also did it myself. #2 - 20 mins Hosted the first week's meeting and created meeting notes #5 - 3 hour Made research and updated my fav repository #23 - 2 hour Researched about Wikidata #29 - 1 hour Created the system requirements for our project #45 - 3 hour
4. Evaluation of tools and processes
GitHub
We have extensively used GitHub, taking advantage of its issues feature for project management. It has helped us to track our progress and assess the group's current progress.
Discord
We used Discord to hold the weekly meetings and share useful links / media. Discord has been beneficial as it provides a reliable text and audio communication experience.
We used WhatsApp frequently to reach out to one another, whether it is something urgent or just to give a heads up. WhatsApp is always the go-to option for non-technical / casual talks as everyone is usually available for WhatsApp and consistent about checking its notifications.
Canva
We used Canva in the design and visual beautification phase of the project. Canva offers ease of design and allows us to get new ideas with its various designs.
Project Libre
We used Project Libre to help create plans and monitor progress. Project Libre is cloud software that helps users create a new project and track activities, results, and reports.
Remarks
After observing how other groups utilized various tools, we see that although our current tool set is sufficient for now, we might need additional tools to increase the quality of our workflow and speed up our development process. One specific tool we admired was the automation bot for transferring issues to Kanban boards that helps see the current situation of the development at a glance. We plan to use it in the future.
5. Scenarios and Mockups
5 Scenarios and their mockups of the possible usage of the website:
USER STORY 1
Younus, a history student, is conducting research on neoclassical architecture for a class assignment. He navigates to Searchitect, where he proceeds to register an account.
After logging in, he inputs "neoclassical architecture" into the search bar and begins to explore the available images
Intrigued by the visual representation of neoclassical architecture, Younus delves into the historical context of these structures and notes their locations, contemplating a future visit to see them in person.
To gain a broader perspective, he also explores public opinions on neoclassical architecture by accessing the site's feed section.
USER STORY 2
While exploring Barcelona, Younus finds himself captivated by the breathtaking La Sagrada Familia. Eager to learn more, he takes out his phone, launches the web browser, and navigates to a Searchitect to search for "La Sagrada Familia."
He realizes that he already logged in the Searchitect. Reaches the search bar.
Immersed in the rich history of this architectural marvel, his curiosity grows when he encounters the name Gaudi. Clicking on the link, he is directed to a dedicated page where he delves into the biography of Antoni Gaudi. Enthralled, Younus spends time admiring the various examples of Gaudi's work showcased on the Searchitect, appreciating the genius behind the designs.
USER STORY 3
Oktay, an avid architecture enthusiast and computer engineering student at Boğaziçi University, logs into his account on the website 'Searchitect.' On his feed, he shares his passion by posting a question.
Noticing that his profile photo is outdated, Oktay clicks on the profile icon located on the top right side of the page. He then selects the "Profile" button to proceed with updating his information.
Oktay taps on the settings icon to access the options where he can make the desired changes to his profile, including updating his profile picture.
USER STORY 4
Sunay, a friend of Oktay, learns about Searchitect through him and decides to visit the website. Upon arrival, she opts not to sign up immediately, choosing instead to browse as a guest and uses the guest search bar in order to search for Colloseum.
As she explores the posts under the Colleseum, she spots a post by her friend Oktay and feels compelled to react to it.
However, as she tries to engage with the post, a pop-up interrupts her, prompting her to register for an account in order to interact with the content.
USER STORY 5
While in Rome, Yunus opens the Searchitect app and types "#iwashere Colosseum" into the search bar. He finds a post by Oktay that includes the same hashtag.
Curious, he browses through Oktay's other posts and decides to interact with one of them, leaving a like and a comment. After posting his text comment, he selects the 'top' filter to view the most interacted-with posts, but doesn't do the filtering. Instead, he wants to add a photo to Oktay's post, but accidentally clicks the report button. Realizing his mistake, he navigates back to the feed and correctly clicks the option to upload a photo.
Mobile version