CmpE451 Customer Milestone 1 Report - bounswe/bounswe2023group9 GitHub Wiki

1. Software Requirements Specification

You can view the requirements of our project here.

2. Software Design (UML diagrams)

Here are the 3 types of diagrams that describe the desired functionality of our project:

3. Scenarios and Mockups

We have 4 Scenarios for Mockups:

4. Project Plan

You can view our project plan here.

5. Communication Plan

We choose Discord as our main communication tool. We had a Discord server from last semester. This semester, we decided to continue using it. We added new members of our team to our server. The Discord server has several text channels for different purposes. Each team member uses the relevant channel to discuss various parts of the project. In addition, there are voice channels as well. Those who want to work together online use these channels to communicate with each other. The functionalities that Discord provides us are well-suited for our project. In the Discord, we also share some project related files such as apk. files and information like some keys as well. In addition to Discord, we use Whatsapp for communication, too. It is a great tool to reach a team member quickly. We announce some reminders and updates on Whatsapp as well. We had our meetings at lab hours every Tuesday. At the lab hours, we discussed the important matters with the project owner, and created a project plan accordingly. In each meeting, we took notes and distributed the necessary jobs among the team members. The weekly reports of our meetings can be found in our Wiki page. In addition to the weekly meetings, those who work on the same part of the project had their own meetings as well on Discord. For assigning jobs and tracking the progress, we used GitHub. Lastly, we use a common Notion workspace where we can keep drafts of our work.

6. Responsibility Assignment Matrix

You can view our responsibility assignment matrix here.

7. Weekly Reports and Any Additional Meeting Notes

8. Milestone Review

The Summary of the Project Status and Our Future Plans

Our application has a functioning log in and sign up pages now. One can create an account on our platform and log in to it by using the mobile app or the web application. In the sign up page, there is a responsive strong password checker which prevents prospective users from choosing weak passwords. Furthermore, we have a functioning home page where users and theorems are listed. In the home page, there is a search bar where a user can search a theorem, a user, or theorems of a user. A user can view the profile page of another user by clicking on the card of a user. Also, every theorem has its own page where theorem related stuff such as proofs, references, citations, and questions can be viewed. In the following weeks, we plan to increase the search functionality further. Also, we realized that our system responds at a noticeably long time. Therefore, we will work on optimizing the database operations. Since there are many mathematical notations in theorems and proofs, we need to add a good Latex renderer to our project so that texts can be viewed without a problem. The home page comes with an empty white page. This is not something which is expected from an application. Once we implement an infinite scroll pagination, latest works which a user might find interesting will be listed on the home page. As he/she scrolls down, new content will be pulled and displayed on the page. Also, it would be beneficial to add some form of advertisement about our app/site, explaining its purpose and benefits. This would not only enhance the user experience but also help us reach the right audience and convey the value of our platform from the very beginning. In addition, there will be a workspace page where a user can work on his/her theorem with other contributors collaboratively. Lastly, there will be a graph page where related theorems, conjectures etc. will be displayed.

The Summary of the Customer Feedback and Reflections

Based on our observations of the audience during the presentation, we noticed that people were engaged and often smiling, particularly during the initial minutes of the presentation. In general, our UI design and overall appearance left a positive impression. Particularly, our sign-up process was well-received by the audience due to its user-friendly and clean design. Some people asked about certain functionalities that were not included in the demo but planned for the final milestone. We made our best efforts to explain our future plans and address their questions. Generally we managed to convince them. Despite these positive reactions, we noticed that the data retrieval time from the backend server was longer than ideal, which led to some dissatisfaction among the audience. Additionally the search options provided (author, theorem, by) seemed to be confusing for some of the audience members and our home page is found pretty empty. We might need to provide more explanatory guidance on our platform. Furthermore, our PO identified a bug from our side where the home page bar doesn't always change according to the page. At the end, we received valuable feedback from our potential users, particularly researchers, regarding their preferences for paper search on our app. We have noted their advice and suggestions for improving the search and filtering features.

List and Status of Deliverables

Name Status
Software Requirements Specification Delivered
Software Design (UML diagrams) Delivered
Scenarios and Mockups Delivered
Project Plan Delivered
Communication Plan Delivered
Responsibility Assignment Matrix Delivered
Weekly reports Delivered
Milestone Review Delivered
Individual Contributions Delivered
A pre-release version of your software Delivered

Evaluation of the Status of Deliverables and Its Impact on Our Project Plan

1. Software Requirements Specification

We revised the project requirements that we prepared during the last semester. We have found some ambiguities and updated the requirements to make everything clear. We evaluated feedback from our product owner and improved the requirements accordingly. The revisions will affect the design, implementation and testing phases of the development process.

2. Software Design

Software design documents were created last semester based on the initial project requirements, but with the revised requirements, we needed to update the software design documents. We revised existing UML diagrams and made necessary adjustments to ensure that they are accurately reflecting the updated requirements.

3. Scenarios and Mockups

We decided to go on with the existing scenarios and mockups, as they still align with the project requirements.

4. Project Plan and Responsibility Assignment Matrix

First we were confused about when and how to prepare a responsibility assignment matrix. After discussing with the product owner, we distributed the tasks among the team members and created a plan for the project.

5. Communication Plan

Our communication plan was well-suited for our project and facilitated the development process. Features of Discord such as providing multiple text and audio channels helped us to maintain discussions on different topics simultaneously. We will continue with the same plan for effective communication between team members.

6. Weekly Reports

Weekly reports that we prepared during the lab sessions were crucial in tracking the progress of our development process. We had an opportunity to keep track of the issues that the team is working on and will work on next week. Also, we identified the risks beforehand and discussed how to avoid them. These reports also helped us to know how fast we should be progressing to reach the final milestone of our project on time.

7. Pre-release of the Software Project

You can find the pre-release of our application here. It includes all the material in our project repository along with the APK of our mobile application. Pre-release of the application includes sign-in, sign-up pages that provide authenticated access to the platform. Home page is also included in the application that allows users to search users and theorems (nodes). Users can see the details of a node on the node view page by clicking the nodes found in the home page. Also, users are able to see their own profile page and other users’ profile page. Up to now, we have provided almost all of the features that we aimed to until the first customer milestone. However, we need to improve the response time of the pages, especially the node details page. Editing profile info should be functional and search function should be more user friendly. Also, the router of the project should be revised and improved to display the right link. After these improvements, we can proceed according to the project plan.

Evaluation of Tools and Processes We Have Used to Manage Our Team Project

While developing the project, we used different platforms and tools to be able to work collaboratively. Each tool that we used during the implementation of the project allowed us to work efficiently. They helped us to work on the same documents and files simultaneously and keep track of the progression of the tasks assigned to the team members. Also, we have used some platforms to communicate with each other and get help. We selected our tools based on their simplicity, ease of use and efficiency.

1. GitHub

Github is the main tool that we used to track the progress of our project. All the project related files eventually end up in our GitHub repository. Each documentation, schema, diagram, research, and assignment has been listed in the GitHub page of our project. The wiki page of our project contains necessary documentation of the project for those who are interested. We also used GitHub to assign tasks to team members and to track the project and work together in a more organized way. GitHub has extremely good tools for that too. It is easy to track the issues according to their starting and ending time, and it is easy to prioritize them with GitHub Projects. On the other hand, GitHub Actions is really good for automated unit tests. We can see the results of automatically executed unit tests when we open a pull request before merging it. Sometimes, we asked questions about the parts that we didn’t understand via comment sections of our issues. In order to confirm the correctness of our work, we asked reviews of our teammates for our work. Github is a great tool in terms of collective work, management and distribution of tasks. It eased and simplified our job considerably. It has played a critical role throughout the development of the project up until now.

2. Discord

Discord has been the main communication platform that we have used so far. We continued to use the Discord server that we used in the last semester. We added our new teammates to the server in the first week of this semester. In our Discord server, a group member is able to ask questions about the project in the relevant channels of the server. All links, related files, and settings for our project are shared to the team members via Discord. Additionally, those who want to work together conduct our online meetings on our Discord server since the voice channels of Discord are a perfect tool for this purpose. The presence of multiple voice channels helps different subteams work on different tasks simultaneously. Some materials and documents are sent to our Discord server so that everyone can see and make necessary changes. In this manner, Discord served as an intermediate platform as well. One of the most important aspects of Discord for our project is that it included only project related materials since we avoid using it for our personal tasks.

3. Whatsapp

Whatsapp is mainly used to reach a team member quickly. For instance, it is used to remind the deadline of a required work. Based on this example, we think that Whatsapp is a great messaging platform to reach a team member about urgent things. In addition, we opened polls to make democratic decisions about our project. We also informed some team members via Whatsapp about tasks assigned to them in case they don’t see the related issues in GitHub. We use Whatsapp to ask our team members when they will complete their tasks because some tasks need previous ones to be completed. In addition, we usually ask help from other team members if there is a confusing part in a task that was assigned to us. Considering all of these, Whatsapp was our secondary platform that we used to communicate with each other and organize our work.

4. Postman

We use Postman to document the requests which are implemented by the backend team. For a frontend developer to understand how to use these requests, he/she needs well-designed documentation and some examples. Therefore, we should use a platform which serves as a bridge between the frontend team and the backend team. Postman is a great tool for this purpose.

5. Flutter

In the second week of the semester, the frontend team decided to use Flutter. It is a great framework which comes with a huge widget library. Many plugins which are available for Flutter are maintained by Google and work without a problem. There is a package manager called pub which allows easy installation for custom packages. The programming language on which Flutter built is Dart, and it has some cool features such as null-safety which reduces the risk of run-time errors. What is more is that an app built in Flutter can be compiled to many platforms, which is the main reason we choose Flutter over other alternatives.

The Requirements Addressed in This Milestone

  • 1.1.1.1.1 Guests shall be able to view the nodes and their references.
  • 1.1.1.1.2 Guests shall be able to view the contributors and reviewers of the nodes.
  • 1.1.1.1.4 Guests shall be able to sign-up.
  • 1.1.1.2.4 Basic users shall be able to perform the same actions as guests except sign-up.
  • 1.1.3.1 Users shall provide their real names, e-mail addresses, and passwords to sign up.
  • 1.1.3.2 E-mail addresses shall be unique.
  • 1.1.3.3 User passwords shall meet safety criteria
  • 1.1.3.4 E-mail addresses shall be confirmed.
  • 1.1.4.1 Basic users shall be able to change their passwords.
  • 1.1.4.2 Basic users shall have profile pages.
  • 1.1.4.3 Basic users shall be able to let their profile pages show their activity.
  • 1.1.4.4 Guests shall be able to view other users' profile pages.
  • 1.1.4.5 Basic users shall be able to edit their own profile information.
  • 1.1.4.6 Basic users shall be able to turn on or off the email notifications.
  • 1.2.1.1 Nodes shall contain bits of knowledge that can represent a type of knowledge at any step in the scientific knowledge development process.
  • 1.2.1.2 Nodes shall be referenceable/linkable to other nodes.
  • 1.2.1.5 Nodes shall have a questions/answers section.
  • 1.2.5.1.1 The platform shall allow users to search for users and nodes.
  • 1.2.5.2.2 Nodes shall be filtered by their contributors.
  • 2.1.1 The system shall be available in the English language.
  • 2.4.1 User passwords shall be stored as hashed in the database.

Individual Contribution Reports

Member: Ahmed Bera Pay

Responsibilities: I took part in the back-end development. I implemented some of the models and API methods alongside tests for them. I also reviewed my teammates' works. Additionally I attended meetings regularly and contributed to discussions such as technology selection, reviewing artifacts from the last year.

Main contributions: I have implemented Node, Proof, Theorem models and a GET method for the Nodes. I also wrote tests for these models and Serializer methods. Additionally, I reviewed many backend-related pull requests of my teammates.

Code-related significant issues:

Management-related significant issues:

Pull requests: Created:

Reviewed:

Additional information: I helped to prepare some lab reports.

Member: Arda Arslan

Responsibilities: I am at the back-end team. So, my responsibilities evolved around back-end development tasks. I've created new python classes,defined fields and functions, which were to be used as database models. I've written and documented API endpoints that gather requested information, ready to be processed within the front-end application. All classes or code segments written are tested with test cases/scenarios after implementation.

Main contributions: First, I examined requirements, suggested modifications, and applied them to the wiki page after reaching a consensus with the group. Then I investigated proposed back-end technologies and expressed my views to the team. Shared my ideas on how to divide tasks and how to distribute them over semester, while preparing the project plan. After all, I’ve started working on back-end development.

Code-related significant issues:

Management-related significant issues:

Pull requests:

Additional information: I conducted a small research on Django model field referencing in quest of finding a more practical way of accessing list of attributes without specifying within the database model.

Member: Mehmet Süzer

Responsibilities: I am a member of the frontend team. I mainly worked on designing a good UI for the web and mobile application. The design of some pages and UI components are mine.

Main contributions:

  • Reviewed requirements and discussed with teammates #240
  • Researched possible frontend technologies #249
  • Implemented of the app button #267
  • Implemented of the app text field #267
  • Designed the login page #267
  • Designed a strong password checker for the signup page #26
  • Designed a card for users #289, #328
  • Designed a card for theorems #289
  • Contributed to implementation of the search bar #289, #328
  • Designed a general layout for the home page #289
  • Fixed some bugs about scrollability, non-functioning search icon
  • Implemented some date functions
  • Code-related significant issues:
  • Signup Page #266
  • Login Page #267
  • Home Page #289
  • Enhancements for Home Page #328

Management-related significant issues:

  • Review of the Project Requirements #240
  • Decision for Frontend Technologies #249

Pull requests:

  • Enhance home #342: I implemented some functions to track date and time, added user cards and theorem cards for the home page, adjusted the paddings of the navigation bar, and implemented a search filter/type for the search bar. As far as I remember, there wasn’t any conflict in the code.
  • Homepage web scrolling problem #354: I dealt with the scrollability problem that we encountered in the web version of the application. There was no conflict that I needed to solve.
  • Profile page #320: This a pull request which contains many commits from many members of the frontend team. I designed the login page, added a strong password checker, and implemented the general structure of the home page. I also reviewed the pull request in my local workspace, and everything seemed to be functioning properly.

Additional information:

I made a small contribution for the branch of one of the team members: #353-commit

Member: Ömer Şükrü Uyduran

Responsibilities: I was assigned with my team on reviewing the project requirements and UML diagrams and preparing the project plan. I was also assigned for determining the authentication mechanisms, testing, and development environments together with my teammates.I had a role in the backend team and my technical assignments were made accordingly. I was responsible for backend tech selections, implementation of some classes and models, and some of the APIs with my friends from the backend team. I was also individually assigned for implementation of some of the APIs, classes, models, and their migrations to the database.

Main contributions: I reviewed the requirements and UML diagrams on my own and discussed the results in a meeting with some teammates who reviewed them too. I determined the authentication mechanisms for our project with my backend teammates.I implemented some classes with their properties and methods. I also made related migrations to the database accordingly. On the other hand, I implemented some of the APIs and documented them in our postman workspace for our frontend team to utilize them. On the other hand, I took part in the tech selection for the backend and I determined the file structure outlines of our backend side. Additionally, I made the initial setup of the backend project too.

Code-related significant issues:

  • Password Change PUT API - #330
  • Profile Settings PUT API - #323
  • Semantic Tag Class/Model - #299
  • Question Class/Model - #298
  • API error messages - #287
  • Authenticated User GET API - #275
  • Database Initilization - #271
  • Backend File Structure Outlines - #270
  • User Models - #255
  • Signup POST API - #256
  • Login POST API - #257

Management-related significant issues:

  • Tasks For Project Plan - #238
  • Requirements Review - #240
  • Initial Project Plan - #243
  • Deciding Backend Technologies - #248
  • Requirement Update - #260

Pull requests:

  • Backend Initial Commit - #273
  • DRF Setup, Some User Models, Authentication APIs - #276
  • Question and Semantic Tag Models - #317
  • Password Change PUT API - #345
  • Profile Settings PUT API - #350
  • Backend CORS Policy - #280
  • Profile Page GET API - #312
  • Node GET API - #343

Additional information: I helped preparation and submission of some of the weekly progress reports and I back my teammates up when they needed help with technical and non-technical issues. I also made contributions when a teammate was not available to perform his/her assigned tasks during the weeks.

Member: Ömer Faruk Ünal

Responsibilities: I am a member of the frontend team. I joined this team this year, so I needed to inspect all diagrams, requirements, and designs. I was responsible for both creating and maintaining the Frontend of our application. I initialized the structure and design of the application, created some screens, and reviewed other codes.

Main Contributions: Because I am more experienced and familiar with the technology I reviewed almost everyone's code, and handled conflicts. I helped other people dealing with some hard, major conflicts that may affect the app. Other than that I created the flow in the application and main code structure and MVVM design of the application. I also coded generic abstract page design that will make everyone's job easier. I coded the search bar, search function, and authentication flow.

Code-Related Significant Issues:

  • Designing file structure outlines for front-end #254
  • Designed the signup page #266
  • Implemented the Frontend Authentication Flow #274
  • Designed the login page #267
  • Reviewed and fixed home screen #289, #328
  • Improved card design for theorems #328
  • Implemented search functionality and improved search bar design #289, #328
  • Created a generic abstract parent page that will be used in all other pages #290, #315
  • Improved login and signup screen and authentication flow #314, #347
  • Implemented node and user providers to connect backend to the UI #289, #331
  • Added search functionality to providers

Management-Related Significant Issues:

  • Onboarded the project, revised designs and diagrams. #237
  • Determining Frontend requirements and tasks #238
  • Review of the Project Requirements #240
  • Decision for Backend Technologies #248
  • Decision for Frontend Technologies #249

Pull Requests:

  • Frontend Initialization #269: Created the app and initialized the file structures following domain-driven design principles and MVVM app design.
  • Signup Page #282: Design of this page has been done by other members. I reviewed the code, suggested some changes. I connected the backend and app via providers and made the page functional.
  • Profile page #320: This is a pull request which contains many commits from many members of the frontend team. I did lint checks, fixed some errors. I added responsive try catch blocks, and provided some feedback to users. I handled what happens if the user is not logged in.
  • Page with bar #309: Implemented a generic screen that will be used in all other screens. This made many things easier to handle for us.
  • Revise authentications screen #314: I fixed errors in the Authentication screens. I improved the flow and added some additional error checks.
  • Update generic page #346: Updated generic page. Added some paddings, colors, and made it more user-friendly.
  • Home page update #353: Home page items were dummy. I made the home page items navigational by integrating data from the backend. These changes impacted other parts of the application and resulted in a few conflicts. To streamline the process, I patiently waited for other contributors to complete and merge their branches. Subsequently, I merged the frontend into my branch, resolved the conflicts, and then merged my branch back into the frontend.

Additional Information:

  • At some point, we were dependent on the same objects and needed to change them simultaneously without informing others. This caused significant conflicts between branches. Unfortunately, I had to spend a significant amount of time resolving these conflicts. I also conducted reviews on nearly every part of the frontend.

Member: Zülal Molla

Responsibilities: I was responsible for the revision of the requirements and class diagrams. I was also in charge of creating a responsive, reliable and user friendly user interface.

Main contributions: I contributed to the design and functionality of the signup page. I wrote providers to get profile page info and node details.I took part in designing the profile page. I created a basic structure for the profile page and implemented the about me section which includes personal info such as name, surname and email. I designed and implemented the node view page. I wrote a custom tab to be used in scrollable pages which is also used in the profile page.

Code-related significant issues:

  • Enhancement for profile page #332
  • Node view Page #321
  • Profile Page #288
  • Signup Page #266

Management-related significant issues:

  • Updating the requirements #260
  • Review of the Project Plan #252
  • Diagram Revision #251
  • Frontend technologies will be decided #249
  • Review of the Project Requirements #240

Pull requests:

  • added INTERNET permission #366: Only one line added to modify user permissions for the android application.
  • merge Frontend to main #365: This PR was a cumulative merge of the frontend branch to the main with all commits of the frontend team.
  • Node view page #351, #359: These PRs include the details of the implementation of the node view page that displays details of a node. Since I was the only person developing this page there was not any conflict.
  • Profile page #320: I created a basic layout for the profile page. Implemented a provider to fetch profile info of the user and about me section. There were conflicts with the fields of the user class. Since the id of the user is not recorded on every page, I revised it as optional.
  • Signup page #282: I contributed to the design and the implementation of the signup page. It was one of the first pages that we created. Therefore, there was no conflict with other branches.
  • Enhance home #342: I reviewed and tested the code in my local workspace. Although there was not any conflict with the main branch, there was a possible conflict with a branch that I was currently working on. Therefore, I suggested updating the related node model. In addition, contributors of the PR missed that we decided to not support custom profile pages for users. I reminded and we decided to fix it later.

Additional information: I designed and created a logo for the application. Created custom text styles to make the fonts consistent all over the project.

Member: Bengisu Kübra Takkin

Responsibilities: I am a member of the Frontend team. I joined this semester so in the first week, my task was to study project requirements and the diagrams. My responsibility as a frontend team member was to create the pages that are assigned to me, review other pages, fix overflow errors and enhance the design if needed.

Main contributions: I was also assigned to review the project requirements because I could see errors better as a new member who tries to learn about the project via reading requirements. After that I was assigned to review and fix sequence diagrams according to updates in requirements. I implemented a profile settings page both for web and mobile. I also contributed to implementing the sign up page and profile page.

Code-related significant issues:

  • Implementing Signup Page #288
  • Implementing Profile Page #320
  • Implementing Profile Settings Page and Enhancing the Desing #334

Management-related significant issues:

  • Creating self Wiki page and editing README.md #245
  • Review of Project Requirements #240
  • Deciding Frontend Technologies #249
  • Diagram Revision #251
  • Updating UML Diagrams #261

Pull requests:

I Reviewed Profile Page and Account Setting pull requests. Merged them together with Leyla Yayladere since we were both working on those two branches. We reviewed and merged the branches with an online meeting.

There were many conflicts because the Account Setting branch was an old version of the Profile page branch. Since there were many updates on the origin branch, there were many conflicts between updated and old areas. Also some of the problems originated from formatting. Lastly, I learned that I should not change the name of the classes since git thinks it's a new file. We had to fix that part too while merging those branches.

Member: Hakan Emre Aktaş

Responsibilities: I was heavily involved in DevOps and management while also working on the backend of our application. I have dockerized and deployed both the frontend and the backend of our application. I have created the project plan and RAM and migrated the project plan to Github Projects after the product owner requested it. I have implemented the workflow file for the automated testing for the Backend of our application. Furthermore, as a part of the Backend team, I have implemented, tested and documented several API functions. Apart from what is seen, I have also fixed problems related to our database (like duplicate tables). I was also tasked with the Customer Milestone 1 presentation. I have devised the scenario, put the mock data into the database and presented with the help of my teammates.

Main contributions:

  • RAM
  • Project Plan
  • Automated testing for Backend
  • Deployment of Backend
  • Dockerization of Backend
  • Deployment of Frontend
  • Dockerization of Frontend
  • Maintaining the Database
  • Search and profile API implementations with their tests and postman documentations
  • Couple of Bug Fixes

Code-related significant issues:

Management-related significant issues:

  • Creating and Maintaining the Project Plan #252, #244
  • Migrating Project plan to Github Projects #283
  • Creating and maintaining RAM #262, #247, #246

Pull requests:

Created:

Reviewed:

Additional information: I think I prepared the backend tasks part of one of the weekly reports. I would like to add that almost everything went as smoothly as it could for this milestone. We didn’t have any big disagreements, and we are ahead of schedule. Frontend looks even better than I imagined.

Member: Ahmet Abdullah Susuz

Responsibilities:

  • I am a member of the frontend team.
  • Focused on connecting APIs from the backend.
  • Prepared transitions between pages.
  • Contributed to the design of the pages.

Main contributions:

  • Implemented the usage of the search method from the backend in the frontend.
  • Created a provider for both the node and the user to facilitate this.
  • Implemented the provider for login, signup, and logout using backend APIs.

Code-related significant issues:

  • Designing file structure outlines for front-end #254
  • Designed the signup page #266
  • Implemented Frontend Authentication Providers (login, logout, signup) #274
  • Reviewed and contributed to the home screen design. #289
  • Implemented search functionality and improved search bar design. #289, #328
  • Improved node details page, fixed errors, added page transitions with arguments, and reviewed other code. #332
  • Reviewed login and signup page revisions. #314, #347
  • Implemented node and user providers to connect backend to the UI. #289, #331

Management-related significant issues:

  • Determining Frontend requirements and tasks. #238
  • Review of the Project Requirements. #240
  • Decision for Frontend Technologies. #249

Pull requests:

  • Authorization Pages. #282, #320: I mostly participated in the implementation of the provider. Authorization provider helps the application communicate for authorization actions such as login, logout, and sign up. I also reviewed the design of these pages. This was the first provider and a template for other providers.

  • User Models. #320: Created user models in the frontend with respect to class diagrams.

  • Search API. #352: Implemented the search API call in the node and user providers. It calls search results with a given type and collects them to show on the home page.

  • Node view page. #359: Helped my teammate implement the node view page and also connected results to other pages accordingly with given parameters.

Additional information: I conducted some research on the GoRouter library to make page transitions and routings easier, which will be implemented later.

Member: Ali Mert Geben

Responsibilities:

I was a part of the back-end team, so my responsibilities mainly revolved around back-end tasks. I was responsible for implementing some models for the database according to previously created classes accordingly and implementing their functions and fields. One of my responsibilities was implementing API functions to be used for the front-end and I also reviewed my teammates’ work from time to time.

Main contributions:

I researched technologies regarding database and back-end and talked with my teammates to choıse which one to use. After sharing my ideas regarding this technologies I started working on the back-end development of the project.

Code-related significant issues: Database should be initialized. #271 Management-related significant issues: Individual Contribution Part #393 Pull requests:

Created lab report. #335 I have checked everything that we have talked about was included in the report. Add Node, Theorem, Proof Model/Classes #302 I have tested the functionality in my local and confirmed everything was working as intended.

Additional information:

I have implemented workspace model/class in my branch but didn’t commit it to the main branch since it wasn’t relevant to anything we did in the demo and wasn’t needed in this milestone. Also I wasn’t able to fulfill my responsibilities from time to time due to my health at the start of the semester. I plan to be more active during the next milestone.

Member: Leyla Yayladere

Responsibilities: I was responsible for revising project requirements and refining UML diagrams to enhance clarity. I’m a member of the front-end team, responsible for the design and implementation of responsive, reliable and user-friendly interfaces. My responsibilities also include reviewing team members’ works, attending project meetings regularly and contributing to project discussions. Additionally, I was in charge of assisting with project documentation.

Main contributions: I revised project requirements and made Use Case diagrams clearer. I helped design a user-friendly interface for profile page, setting page, and node view page as part of the front-end team. I implemented some parts of profile page and reviewed for setting page, and node view page. I joined project discussions in meetings and supported project documentation.

Code-related significant issues:

  • Profile Page Design, Implementation, Review - #288
  • Profile Page Enhancement - Design & Implementation - #332
  • Node View Page - Review, Integration with Profile Page (Navigation) - #321

Management-related significant issues:

  • Github Project Roadmap Review - #283
  • Requirements and UML Diagram Revision - #251, #261

Pull requests:

  • Node View Page #351: I reviewed and tested the code in my local workspace. Everything was fine and there was no conflict.
  • Profile Page Enhancement #357: I created this PR but there were a lot of conflicts with frontend branch. My teammate reviewed it and suggested combining Profile Page and Setting Page together and then merging in order to solve conflicts only once since their conflicts were similar. This PR cancelled. Merge Updates of Account Setting Page and Profile Page #363: Created in order to make merge into frontend easier.
  • Changes for Account Setting Page and Profile Page #364
  • Update FrontEnd/README #373
  • Frontend dockerization #369 - Reviewed
  • Internet Permission for Android #366 - Reviewed

Additional information: I helped preparation of draft of all weekly progress reports.

Member: Oğuz Pançuk

Responsibilities: My course schedule was approved in mid-October, causing a delayed start to my classes. Additionally, my busy work life and the challenges I faced while setting up my new computer with Django prevented me from making substantial contributions to the project so far. Apart from attending meetings and monitoring the project progress, I haven't been able to actively participate. I plan to take on more responsibilities in the upcoming period.

Additional information: -Took notes of customers’ and product owner’s remarks during presentation.