Skip to content

451 Final Milestone Individual Reports

Bilal Aytekin edited this page Jan 2, 2023 · 18 revisions

Individual Reports

Arif Akbaba

  • Member :Arif Akbaba- Group 3 - FrontEndTeam
  • Responsibilities :I was in the frontend team. I wrote several pages and also updated some of the code written by other team members. I have been assigned to work on profilepage design and apply backend connection of profile page. I implement Profilepage as public profile page, private profile page and owner profile page that editible owner user. Also, I have been assigned to work on my_spaces page.
  • Main contributions : I have reviewed a part of the requirements/designs. I have updated communication channel part according to group meetings. I have handled profilepage design and backend connection getuser profile.I have implemented the following: [user_id].js . I have implement public profile page private profile page and connect to update profile page and rearranged get profile connections based on backend changes. According to team meeting, my spaces page rearranged accordinbg to recommended and popular space. Then, .I have restored my_spaces page and enable reqired backend connections.
  • Code related significant issues : #305 , #411 , #464,#467
  • Management related significant issues : #313, #439, #496
  • Pull requests : #314, #412,#472
  • Additional information : I have helped the team with PR reviews. I reviewed PRs:#480,#463,#428,#309,#407,#459,478

Furkan Akkurt

  1. Member: My name is Salih Furkan Akkurt. I'm from Group 3. I'm in the subgroup for back-end.
  2. Responsibilities: I was initially given the assignments of reviewing the software requirements, diagrams, user scenarios and mockups of the project. Afterwards, I became a part of the back-end team. In the back-end team, I was given the assignments of creating 2 database schemas (Course and Enrollment), in line with the class diagram, and several functions for these schemas, in line with the API specifications given by the web front-end and mobile teams. Then, I was given the responsibility of creating a database schema and API functions for annotations, compliant with the W3C Recommendation of Web Annotation Data Model. Then, I was given the responsibility of implementing 2 API functions related to gathering popular and recommended spaces.
  3. Main contributions: I have attended many meetings with the entire team present, only the back-end team and with the customer. I have reviewed the software requirements, diagrams, user scenarios and mockups of the project. I have contributed to the wiki of the project, creating and organizing management pages. I have created several issues related specifically to me or to the entire team. For the back-end, I have created 3 database schemas (Space, Enrollment and Annotation) and API functions related to these schemas, requested by the web front-end and mobile teams. I have created and maintained these and other API functions, related to Resource and Topic schemas. Annotation schema complies with the W3C Recommendation of Web Annotation Data Model. Annotation server complies with the W3C Recommendation of Web Annotation Protocol. I have reviewed many pull requests and merged them. I have updated many of the naming conventions (e.g. course -> space) on the back-end. I have implemented the space recommendation system after integrating an API function from Datamuse that returns similar phrases to a given input.
  4. Pull requests: #297, #308, #310, #315, #321, #328, #335, #354, #359 #372, #374, #379, #382, #405, #410, #413, #455 and #456
  5. Unit Tests: 396c1d6, a630544, 1f704f5 and 3ee3d32

Mehmet Gökberk Arslan

  • Member : Mehmet Gökberk Arslan - 2018400240 - Group 3 - Backend Team

  • Responsibilities: I was given the responsibility of creating profile page endpoints and adjusting ratings learning spaces. I was also given the responsibility to document standards.

  • Main contributions: I worked on profile page and created a schema for users' personal information. We have decided to keep user schema and user profile (personal info) schemas seperate since this way would be more modular and since getting user ids from the database is a very common operation, we did not want to create a big and inclusive schema for users. I also worked on fixing a bug related to space ratings and later I have implemented the corresponding endpoints that enable users to rate and view the ratings of learning spaces.

    • Code related significant issues : #421, #476

    • Management related significant issues : #330

  • Pull requests : #294, #423, #477

Bilal Aytekin

  • Member: I am Bilal Aytekin (2018400132). I am in the mobile team of Group 3.
  • Responsibilities: I was given the responsibility of handling the event feature and improving the profile with interests.
  • Main contributions:
    • I worked on the event feature and implemented its creation and editing.
    • I implemented the interest selection feature. The user can choose from a large predefined set of interests. Using a plugin, I have also presented the user with the option of searching among these features. To do this, I searched for a suitable option in pub.dev. Later, we moved it to the profile and incorporated it into editing the profile.
    • I was also going to implement the account deletion feature, but for time considerations, we canceled this feature.
    • I have attended all of the meetings.
    • All the while, I have tried to take on the role of an editor for the repository. You can see many an issue I have corrected the typos and grammatical errors (thanks to Grammarly!), added the necessary tags/projects/milestones.
  • Code-related significant issues: #419, #465, #466, #483, #486.
  • Management-related significant issues: #440, #414, #491, #494.
  • Pull requests: #433, #483, #486.
  • Additional information: I have reviewed the following pull requests: #317, #393, #341, #387.

Nurlan Dadashov

  • Member : Nurlan Dadashov - 2019400300 - Group 3 - Frontend Team

  • Responsibilities: I have been coordinating the work of the frontend team. I have been communicating with backend and mobile teams and wrote backend specifications. I have been reviewing the codes of other team members. I presented the web application during customer milestones.

  • Main contributions: I have initialized the frontend project, BUcademy. I have created an authentication layout for registration and login pages. I have created main layout for learning space which contains resources, events, discussions, notes pages. I have implemented a new design on the home and my spaces pages. I worked on implementing annotations for resources. I also implemented create space functionality. I have implemented profile photo upload functionality. I have implemented a separate page for notes so that they can be shared and saved. I have implemented edit and rating functionality for resources. I made styling corrections to many pages to make them visually more appealing.

  • Pull requests : #277, #309, #320, #390, #407, #459, #473, #478

  • Additional information: I reviewed PRs: #285, #286, #314, #324, #336, #355, #395, #399, #412. I populated the database by creating new resources, discussions, topics, etc.

Hatice Şule Erkul

  • Member : Hatice Şule Erkul - 2017400051 - Group 3 - Mobile Team

  • Responsibilities: I was responsible for user profiles and annotations on mobile app.

  • Main contributions: I worked on user profile page. I implemented tabbed view for the page which shows user's created spaces, joined spaces, and personal information. This pages layout changed multiple times to provide clean looking and intuitive design. I implemented backend connetions of profile related endpoints in Profile Service class. I also implemented a button to view profiles. It allows users to see other users profiles. I implemented follow/unfollow for profiles. I implemented 'edit profile' page except interest selection widget. I worked on annotations for mobile; however, we were not able to merge it with the app because it did not work with Markdown. I reviewed PRs of my teammates. I attented most of the meetings.

    • Code related significant issues : #327, #404, #481, #482

    • Management related significant issues : #363

  • Pull requests : #483, #388, #337,

  • Additional information: I reviewed PRs: #345, #376, #427. My take on mobile annotations: As I mentioned in Main Contributions part, I was not able to finish implementing annotations on mobile app. I implemented annotation_service.dart for existing endpoints. I also implemented annotation.dart for data model. At first I tried to use JsonSerializable for that but it wasn't compatible with request structure mentioned in W3C Standarts. So, I implemented toJson and fromJson functions myself. I also implemented custom toolbar and selection delegate because flutter has limited functionality for customizing selection toolbars. I created a text widget for annotations (annotated_text.dart) which uses SelectableText widget of flutter and paints the annotations. As it uses SelectableText, it works fine with normally formatted text. I also implemented a popup which shows the comment related to an annotation. When it came to combining this widget and flutter's markdown widget, it got complicated. Flutter is not able to process HTML, so in its Markdown package, it traverses the input string and creates a widget for each tag. The text inside markdown widget can configured to be selectable however there is no way to get the widgets of the selected area. This causes problem in getting exact text that is annotated and highlighting it. Here are some issues from Flutter repo which mentions the problem I experienced :

    A solution proposed to highlight text was creating another tag inside the markdown text for annotated part and configuring a style for it. This method requires to alter the markdown text coming from the database. It also doesn’t work all the time. When the new highlight tag is inside another tag, it messes up the parent tag’s formatting. Another solution was to create my own markdown parser, which I started bu could not complete in time. You can see what I’ve coded in mobile/annotation branch. Overall, I worked really hard to implement annotations; however, I could not complete it in given time.

Kadir Ersoy

  • Member: Kadir Ersoy - 2018400252 - Group 3 - Backend Team
  • Responsibilities: I have worked on registration and authorization at first. Then I created note, activities and userProfile endpoints, and built test infrastructure. Lastly, I handled creating annotation microservice. For the rest of the project, I mostly assigned for maintenance, handling requests of front and mobile, and resolving found bugs. I also was the note taker for most of the meetings and milestones.
  • Main contributions:
    • I have reviewed a part of the requirements/designs and updated them.
    • I have implemented /register , /login, /logout endpoints.
    • I have set up authorization middleware for backend.
    • I have implemented /note endpoint and updated /userProfile. I have set up test infrastructure for the backend. I have helped resolve bugs and backend issues that have come up during the backend - front/mobile connection.
    • I have implemented /activity endpoint. I moved the already existing annotation endpoint to a seperate machine and adjusted it to become a microservice.
    • Code related significant issues: #302, #378 #389 #397 #450 #448
    • Management related significant issues: #268 , #269, #342 #346 #437 #494.
  • Pull requests: #293, #332, #364 #371 #384 #386 #392 #398 #406 #409 #447 #449 #457
  • Unit Tests : #386 unit tests for /user
  • Additional information: I have helped the team with PR reviews.

Berke Özdemir

  • Member: Berke Özdemir - 2016400246 - Group 3 - Frontend Team

  • Responsibilities: I have been assigned to work on web application's GDPR compliance, topic creation, resource creation, resource editing, resource displaying, space page refinement, event, home page, user page and search functionality and notifications for the web application.

  • Main contributions:

    • I have created the home component and user courses component.
    • I have implemented the navbar component to use in those pages.
    • I have implemented a course card component to use in those pages.
    • I have implemented the resource display page.
    • I have implemented event display and creation pages.
    • I have implemented topic creation popup.
    • I have implemented resource list display for the resources pages.
    • I have improved the UI of the space page.
    • I have implemented activities flow.
  • Code related significant issues: #325 , #326, #418, #394, #360, #361, #479

  • Management related significant issues: #276, #269, #420 , #494

  • Pull requests: #362 #434 #399, #395, #324, #336, #479

  • Additional information: I have helped the team with PR reviews.

Mertcan Özkan

  • Member : Mertcan Özkan- 2019400081- Group 3 - Frontend Team

  • Responsibilities: I was in the frontend team. I wrote several pages and also updated some of the code written by other team members.

  • Main contributions: I created the course summary page. I created/updated the discussions page to its tabular form. Also added sorting feature to discussions. I added create note, edit note and create discussion pop-ups. I updated the profile page and added follow/unfollow features and knowledge/interest tags of the user. I modified the notes page ,gave it the latest form and moved notes to its own component. Also added note filtering feature based on topic and resource. I also connected all these components/pages to backend. I also communicated with the backend team to update some of the endpoints based on projects needs.

  • Pull requests : #277, #309, #320, #390, #407, #473

Muhammet Şen

  • Member : Muhammet Şen - 2018400192 - Group 3 - Mobile Team

  • Responsibilities: I worked on improving the co-learning experience on the mobile application by letting the users share notes with each other and showing each others' activities on a feed page.

  • Main contributions: I implemented deep link mechanism to open the Bucademy app when user clicks a link belongs to the domain of bucademy.tk. The main feature that uses this mechanism is note sharing. A user can open a note's page by just clicking on a url, and duplicate the note to their own enrollment. Moreover, I implemented the feed page that a user can see the activities of the user they are following, like creating a new space or starting a discussion. I also improved the homepage by showing the recommended spaces.

  • Pull requests : #282, #296, #317, #341, #345, #376, #431, #432, #468, #475, #485

  • Additional information: I reviewed PRs: #310, #318, #337, #340, #377, #388, #470, #483, #490.

Salim Kemal Tirit

  • Member : Salim Kemal Tirit - 2019400153 - Group 3 - Mobile Team

  • Responsibilities: I was given the responsibility of creating learning space, topic and resource pages. I was given the responsibility to present the application.

  • Main contributions: I worked on the learning space page and implemented a tabbed view for it. The tabs are being used for topics, events, notes, and discussions. I implemented the topic page. I implemented create and delete topic functionality. I implemented the resource page. I implemented creating, editing, and deleting resource functionalities. I implemented a nice pop-up type interface showing options when the user clicks and holds onto the topic or resource tiles. I worked on the navigation to other pages such as the discussion and note pages from the resource page. I worked on the events part and made some changes and fixes in the create event dialogue. I added the show on map button which directs to the map application of the phone. I have attended most of the meetings and took meeting notes in some of them. I have presented our mobile application in all of the milestones.

  • Pull requests : #318, #340, #427, #436, #470, #490, #492

  • Additional information: I reviewed PRs: #317, #341, #387, #393, #432, #433, #441. I populated the database by creating new resources, discussions, topics, and notes.

Burak Yilmaz

  • Member: Burak Yilmaz - 2018400237 - Group 3 - Backend Team

  • Responsibilities: I initially created the server structure for the whole team. After that, I was given some specific schemas and their corresponding APIs for CRUD operations. They can be found in the below PRs. I also did some optimizations for both backend and frontend servers so that they would be more stable. I also implemented and dockerized the semantic search engine and the relevant server.

  • Main contributions:

    • I have reviewed a part of the requirements/designs and updated them.
    • I have created the initial backend server structure.
    • I have implemented semantic search engine and its server.
    • I have implemented the relevant endpoints in the PRs below.
    • I have done frontend optimizations so the machines could work with that load. Also configured external semantic search server for the demo day.
  • Code related significant issues: #274, #385, #422, #458, #487

  • Management related significant issues: #270, #424

  • Pull requests: #291, #292, #385, #422, #458, #487

  • Additional information: I have helped the team with PR reviews. Also made sure that both frontend and backend deployments worked reliably by optimizing dependencies and monitoring load. Also, total number of issues seem low, however they mostly included dependent schemas and/or endpoints in them, so they could be split to multiple PRs. And since we mostly worked with meetings, most of my work doesn't have standalone issues; they have the finalized PRs as the issues.

Project

Team Members

Communication

Research

Meeting Notes

451

Group Meetings:

Backend Team Meetings:

Frontend Team Meetings:

Mobile Team Meetings:

352

Templates

Personal Effort

451

352

Individual Reports

Practice App

Clone this wiki locally