Milestone 1 Project Plan - bounswe/bounswe2024group6 GitHub Wiki

Last Update : 30 April 2024

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

Milestone 1

Milestone 1 Plan

issues

Milestone 1 Chart

issues

Milestone 2

Final Plan

issues

Final Chart

issues

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.

Responsibility Assignment Matrix

  • Responsible: R
  • Accountable(Reviewer or Contributor): A
  • Informed: I
  • None Involved: N
Tasks Oktay Özel Aras Taşçı Yunus Emre Özdemir Kaan Yolcu Elif Nur Deniz Eymen Çeliktürk Anıl Köse Battal Hazar Halil Özkan Ebru Özçakı
📅 Meetings
Meeting 1 A A A A A A R A A A
Meeting 2 N R A A A A N A A N
Meeting 3 A A A A R A A A A A
Meeting 4 A A A N A A N R A N
Meeting 5 R A A A A A A N N N
Meeting 6 A A N A A R A A A N
📋 Researches And Docs
Studying Git as a version management system A A A A A A A A A A
Documenting the research about Git N N N N A + I N N N N R
Documenting our favourite repositories A A A A A + I A A A A N
Searching and documenting Domain Analysis A A A A I A A A A N
Creating Meeting Notes Template N N R N N N A N N N
Creating Personal Wiki & Efforts Page Template N A R I N N N N N N
Organising README Page R N N A N R N N N N
Creating a Personal Wiki & Efforts Page A A A A + I A A A A A A
Organising Wiki Sidebar A R A A A A A A A A
Organising Labels A R A A A A A A A A
Creating a Banner For the Homepage R N N N N N N N N N
Requirements
Creating Elicitation Questions I N N N R N N N N N
Asking Customer the Elicitation Questions and documenting With Answers I N N N R N N N N N
Performing an analysis of the selected domain by examining related software systems I R N N N N N N N N
Creating User Requirements And Documenting Them I N N N N R N N R N
Creating System Requirements And Documenting Them I N N N N N R R N N
Creating Non-functional Requirements And Documenting Them I N N R N N N N N N
Creating Glossary and Defining Some Keywords as Example I N N N R N N N N N
💻 Milestone 1
Creating Executive Summary Part R R N N N I R N N N
Creating Project Plan N N N R N I N N R N
Creating a Template Table for Work Done By Each Member Page N N N N R I N N N N
Filling the Table for Work Done By Each Member Page A A A A A A + I A A A A
Creating Evaluation of Tools and Processes Part N R N N N N+ I N A N N
Creating Mock-ups For the Project R + I I R N I N N N N N
Creating Responsibility Assignment Matrix N N I N R N N N N N
FROM NOW ON --- MILE STONE 2 --- --- --- ---
Draw Class Diagrams I R A I R A I R R N
Draw use case diagrams R I I R A I I A I N
Draw sequence diagrams A I R I A R R I I N
Tracker of the week of diagrams I A I A I A I I R N
Create User Class Diagrams I A I I R I A I I N
Create Post Class Diagrams I R I A I I I A I N
Create Profile And Feed Class Diagrams I I A I A I I I R N
Create Search Engine Class Diagrams A I I I A I I R I N
Requirements Review and Update R I A A I I A I I N
Preparing Issue Template A I I R I A I I I N
Make Comprehensive Wikidata Research I A I I I I R I I N
Organizing Wikipage I I A I R I A I A N
Research-Choose a UI Component Lib A I I A R I I I N
Implement Shadcn UI I I I I R A I I I N
Resarch and Practice SPARQL I R A R I A I I N
Implement Searching Functionality A R A R I I A I I N
asynchronize WikiData API Calls I R I I A I I A I N
Login and Signup views R I I A I A I I R N
Update Sequence Diagram I I A I I R A I I N
Small configuration backend code I A I I I R I I A N
Review the backend part R R I R A R I I R N
Re-editing sequence diagrams A I A I I R I I I N
Update Scenarios and Mockups I I R A I A I A I N
Setup Frontend React App A I R I A I I I A N
Dockerize Front-Backend and DBServices I I R A I I A I I N
Enforce PRReviews Before Merging A I I A I I R I A N
Implement Router I I R I A I A I I N
[Updating Responsibility Assignment Matrix R I A I I I A I I N
Update Tasks Table in Project Plan I I I R I A I A N
Research on Django rest framework R I I I A I I I R N
[Start the backend repo-code the skeleton] R I I A I I I I R N
Project Plan Update R I I R I A I I I N
Configuring and Dockerizing Database I I R R I I I I I N
Writing README I A I I R I R A I N
Code serializers.py, views.py and, urls.py in the main application to get the system working R A I A I A I I R N
configuring settings.py and validating via test.rest R I I A I A I I R N

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 styles and architechts .

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.