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
- Develop searching functionality using Wikidata API and SPARQL
- Build post creation, viewing, and interaction functionalities
- Integrate search and sorting functionalities for architectural content
- Implement like/dislike , comment , report, tag features for posts
- Integrate Google Maps API for location display
Phase 3: Testing and Quality Assurance (1 week)
- 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 (1 week)
- 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
Milestone 1 Chart
Milestone 2
Final Plan
Final Chart
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 |
Research on React & Vite | I | I | R | I | R | I | I | I | I | N |
Designing Home Page Navbar | I | I | R | I | A | I | I | I | I | N |
Designing Browse Page And Search Bar | I | I | A | I | R | I | I | I | I | N |
Designing Home Page UI | I | I | R | I | A | I | I | I | I | N |
Creating Register-Login Forms | I | I | A | I | R | I | I | I | I | N |
Implementing UseAuth Function | I | I | R | I | A | I | I | I | I | N |
Fixing Cors Errors | I | I | R | I | A | I | I | I | I | N |
Project Deployment | A | A | R | A | R | A | R | A | A | N |
Presenting Project Demo | R | A | R | A | R | A | R | A | A | N |
Docker Compose Fix | I | I | R | I | A | I | I | I | I | 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.