Muhammet Ali Topcu CMPE 451 Final Milestone Individual Contribution Report - bounswe/bounswe2023group1 GitHub Wiki

Member: Muhammet Ali Topcu

Group: Group 1 - Disaster Response Platform - Backend Team

Responsibilities:

  • Fixing bugs that are reported from frontend/mobile teams and refactoring some API endpoints.
  • Ensuring consistency between some entities.
  • Size & Age categorization for Need and Resource entities.
  • Recurrent Need implementation.
  • Enabling image upload for Resource entity.
  • Annotation backend server creation, dockerization, deployment, and enabling HTTPS with SSL/TLS certificate.
  • Authorizing victims to be allowed to filter needs on the map.

Main contributions:

  • Fixing the problem that was caused by the @Lob annotated fields in entities. For larger strings, it is just needed to add length to the @Column annotation.
    Issues: #551

  • Changed some fields of Need and Resource entities so that they are consistent for later matching of the Requests with Resources.
    Issues: #552

  • Implementation of size & age categorization for Needs and Resources. Frontend requested us to implement size & age categorization beside the category tree, and I implemented.
    Issues: #553

  • Refactoring some API endpoints in backend.
    Issues: #555

  • Recurrent Need Implementation. Some needs such as water&food could be recurrent. So, I changed Need entity to provide that functionality. In addition, I implemented a scheduler to create a request for recurrent needs every day at 8 o'clock, but couldn't finalize it.
    Issues: #559

  • Providing Image Upload for Resources. Created an Amazon S3 bucket to store the image files and also to keep track of them, created an entity called File in the database.
    Issues: #591

  • Bugfix - Null Pointer exception at Resource and Need entities.
    Issues: #592

  • Annotation Backend Server Creation. We met with Ilgaz on Discord to talk about the annotations. He expressed me what he needed and I created an EC2 instance, created a brand-new Spring boot project for annotation service, dockerized it, and deployed it on the ec2 instance. I also enabled HTTPS security for that service.
    Issues: #594

  • Victims should be allowed to filter needs on the map.
    Issues: #612

Management related significant issues:

  • Creation, dockerization, deployment and enabling the security of the Annotation Backend Service.
  • Manual deployment of the backend after merged PRs.
  • Writing User Manual for the Final Deliverables Report.
  • Writing System Manual for the Final Deliverables Report.

Pull Requests:

  • PRs created by me:

    • Pull request for Need and Resource entity consistency.
      PR: #552
      Issue: #554

    • Pull request for Refactoring some api endpoints in backend.
      PR: #558
      Issue: #555

    • Pull request for Recurrent need implementation.
      PR: #576
      Issue: #559

    • Pull request for NullPointerException Fix.
      PR: #593
      Issue: #592

    • Pull request for Annotation backend server creation.
      PR: #599
      Issue: #594

    • Pull request for Implemented Image upload to resources using amazon s3 bucket.
      PR: #603
      Issue: #591

    • Pull request for Victims allowed to use some endpoints in NeedController.
      PR: #613
      Issue: #612

    • Pull request for Merge Dev to main.
      PR: #651, #652

  • PRs reviewed and merged by me:

    • Merged pull removing X-Selected-Role from header in auth.
      PR: #556

    • Merged pull request for Improved/Added coordinator functionalities.
      PR: #571

    • Merged pull request for Filtering Resource by Receiver Id.
      PR: #607

    • Merged pull request for Feature/be 572 74 missing unit tests.
      PR: #614

    • Merged pull request for Missing unit tests for Resource & Notification Service.
      PR: #630

Unit Tests:

  • CategoryTreeNodeService unit tests
  • AuthService unit tests
  • UserService unit tests

Team evaluation: Our team performed well since the beginning of the project in the Cmpe352 lecture till the end of the Cmpe451. In my subgroup, backend team, we tried to balance the the weekly work that must be done between all the backend developers. Most of the team members tried to do their best. I am lucky to work with my teammates on this project. I wish them all success in their future life.