Zehranaz Canfes Weekly Efforts - bounswe/2021SpringGroup9 GitHub Wiki

CmpE 352

Check out my weekly efforts during CmpE 352 here.

CmpE 451

Week 1 (12.10.2021 - 19.10.2021)
  • Meeting: Lab 1

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: General Meeting 1

    • Duration: 40 minutes
    • Type of Work: General Meeting
  1. Task: Checked each entry of 'user' and changed them to 'registered user'. Did this for every part of the repository including design, scenarios, mockups, and ReadME. [Issue #215](Changed All Occurences of 'user' to 'registered user' in the Repository - Issue #215)

    • Duration: 1 hour
    • Type of Work: Documentation
  2. Task: Thought about new requirements and examined each requirement we had written and found no new requirement to add. Instead extended the glossary. Issue #216.

    • Duration: 1 hour
    • Type of Work: Documentation
  3. Task: Prepared 3 questions to ask to the customer. We had a meeting and asked those questions during the Tuesday Lab. Issue .

    • Duration: 1 hour
    • Type of Work: Documentatio
Week 2 (19.10.2021 - 26.10.2021)
  • Meeting: Lab 2

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: Meeting 2

    • Duration: 30 minutes
    • Type of Work: General Meeting
  1. Task: I have deleted the 1.1.1.1.2 requirement and added 1.1.2.12 Editing Posts Requirements.

    • Duration: 15 minutes
    • Type of Work: Documentation
  2. Task: Research tools that can be used during implementation of backend.

    • Duration: 30 minutes
    • Type of Work: Research
  3. Task: Organized my issues according to the things we learned in the lectures.

    • Duration: 45 minutes
    • Type of Work: Documentation
Week 3 (26.10.2021 - 02.11.2021)
  • Meeting: Lab 3

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: Meeting 3

    • Duration: 1.5 hours
    • Type of Work: General Meeting
  1. Task: Added the group name to ReadME and remove the members that left.

    • Duration: 10 minutes
    • Type of Work: Documentation
  2. Task: Changed the requirements by keeping actor/agent in mind. I seperated the requirements that contained more than one functionality and added new terms to glossary. Issue #242

    • Duration: 1 hour
    • Type of Work: Documentation
  3. Task: Although I was not assigned to do this, I worked on some logo designs. The ones I created can be found here. Create Logo for Postory - Issue #344.

    • Duration: 2 hours
    • Type of Work: Documentation
Week 4 (02.11.2021 - 09.11.2021)
  • Meeting: Lab 4

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: Meeting 4

    • Duration: 1 hour
    • Type of Work: General Meeting
  • Meeting: Backend Meeting 1

    • Duration: 1 hour
    • Type of Work: Backend Meeting
  • Meeting: Backend Meeting 2

    • Duration: 1 hour
    • Type of Work: Backend Meeting
  • Meeting: I had a meeting with Melih to explain him Amazon S3 and do the set up together.

    • Duration: 1.5 hours
    • Type of Work: Backend Meeting
  1. Task: Read Django Documentation to remember and improve - Issue #334

    • Duration: 2 hours
    • Type of Work: Research
  2. Task: Learn MongoDB and its integration with Django - Issue #335: I found Djongo and PyMongo. I made a research on how to use those and changed the settings in Django and tried using them. Also, I did not use MongoDB before, that's why I learned the general aspects of MongoDB and the differences of it with SQL.

    • Duration: 2 hours
    • Type of Work: Research
  3. Task: Add Activity Stream to requirements.

    • Duration: 15 minutes
    • Type of Work: Documentation
  4. Task: I implemented an API for getting all posts from the database. While doing this, since the locations', images', and tags' ids are kept in the 'post' model, I had to implement a function that converts those ids to content of lcoations, tags, and images.

    • Duration: 1.5 hours
    • Type of Work: Implementation
  5. Task: Fix errors: I faced a lot of errors and bugs related to my computer. I spent a lot of my time to fix those. The issues related to the bugs can be found here and here.

    • Duration: 8 hours
    • Type of Work: Bugs and Errors
  6. Task: I made a research on tools to store the images. I looked at some projects and read multiple articles to find examples. I saw that most of the projects use Amazon S3 whose integration with frontend and android is easy. I read about S3BotoStorage and django-storages and learned how to set up. I opened an AWS account but we decided to use Melih's account instead.

    • Duration: 5 hours
    • Type of Work: Research
Week 5 (09.11.2021 - 16.11.2021)
  • Meeting: Lab 5

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: Meeting 5

    • Duration: 1 hour
    • Type of Work: General Meeting
  • Meeting: Backend Meeting 3

    • Duration: 2 hours
    • Type of Work: Backend Meeting
  1. Task: Fix errors: I faced a lot of errors and bugs related to my computer. I spent a lot of my time to fix those. The issues related to the bugs can be found here and here.

    • Duration: 8 hours
    • Type of Work: Bugs and Errors
  2. Task: As backend team, we decided to keep the Locations and tags in lists to enable multiple locations and tags in a post. We wrote the code for that together in the meeting. After that we had to change our APIs accordingly. The Pull Request can be found here.

    • Duration: 2 hours
    • Type of Work: Implementation
  3. Task: Review PRs: Backend's last Pull Request for Milestone, API for creating posts, Locations and Tags models are added and they are kept in lists, Workflows created, Get, Put, Delete Functionality

    • Duration: 2 hours
    • Type of Work: Documentation
  4. Task: Made a research on Activity Streams. I looked at the official documentation here and here. I shared these with the group.

    • Duration: 2 hours
    • Type of Work: Research
  5. Task: I prepared a presentation for the customer presentation. I wrote a text including how our models work, how get post, get all posts, delete post functionalities work. I talked about our future plans during the presentation and explained the Amazon S3 tool that we used.Create Presentation for Backend - Issue #347.

    • Duration: 2 hours
    • Type of Work: Documentation
  6. Task: I have written 2 posts for the Postory app. These can be found via the issue 329.

    • Duration: 20 minutes
    • Type of Work: Documentation
Week 6 (16.11.2021 - 23.11.2021)
  • Meeting: Lab 6
    • Duration: 2 hours
    • Type of Work: Presentation
  1. Task: I have written the Individual Milestone Report.

    • Duration: 3 hours
    • Type of Work: Documentation
  2. Task: I have written the last part of the executive summary of the group milestone report.

    • Duration: 30 minutes
    • Type of Work: Documentation
  3. Task: I have written the personal effort table for myself in the group report.

    • Duration: 1 hour
    • Type of Work: Documentation
  4. Task: I have written the weekly efforts.

    • Duration: 2 hours
    • Type of Work: Documentation
Week 7 (23.11.2021 - 30.11.2021)
  • Meeting: Lab 7

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: Backend Meeting

    • Duration: 1 hour
    • Type of Work: Backend Meeting
  1. Task: Make a Research for Authentication

    • Duration: 3 hours
    • Type of Work: Research
  2. Task: Watch video for JWT/Djoser Authentication system

    • Duration: 3 hours
    • Type of Work: Research
  3. Task: Try to implement Authentication

    • Duration: 1 hour
    • Type of Work: Implementation
Week 8 (30.11.2021 - 07.12.2021)
  • Meeting: Lab 8

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: Backend Meeting

    • Duration: 2 hours
    • Type of Work: Backend Meeting
  1. Task: Read the documentation of djoser

    • Duration: 2 hours
    • Type of Work: Research
  2. Task: Read the documentation to find a way to get user id

    • Duration: 2 hours
    • Type of Work: Research
  3. Task: Complete the research for authentication

Week 9 (07.12.2021 - 14.12.2021)
  • Meeting: Lab 9

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: Backend Meeting

    • Duration: 2 hours
    • Type of Work: Backend Meeting
  1. Task: Make a research for session storage of signed in user

    • Duration: 2 hours
    • Type of Work: Research
  2. Task: Try to use JWT and fix the bugs occured during it. I saw that the requirements.txt was incompatible with the others. I used other requirements for the code to work. e.g. I added sql-parse and a different PyJWT version.

    • Duration: 3 hours
    • Type of Work: Implementation and bug fix
  3. Task: Implemented the user follow functionality. I encountered nany bugs during the implementation. That's why it took a lot of my time.

  4. Task: Implemented get user by id functionality.

  5. Task: Add authentication control for user follow and get user by id functionality. Only signed up users can use these functionalities.

    • Duration: 1 hour
    • Type of Work: Implementation
  6. Task: Extend "get post by id" functionality for checking if user has access to other user's posts. We wrote this functionality in the first milestone and now since we added the users, the authentication should be checked.

  7. Task: Add user_id check to update post. We wrote this functionality in the first milestone and now since we added the users, the authentication should be checked.

Week 10 (14.12.2021 - 21.12.2021)
  • Meeting: Lab 10
    • Duration: 2 hours
    • Type of Work: Lab Meeting / Presentations
  1. Task: Write unit tests to follow user. This took a lot of my time since I worked on the authentication part. The user should be logged in in the mock data. So, I needed a code to mock the JWT authentication and receive a token for the mock user. It was hard to implement since there are a few references online and I received a lot of errors. This was because, 'auth/jwt/create' required login data. I made a lot of research to solve this problem.

  2. Task: Write the moving forward part of the Group Milestone report.

  3. Task: Write the API documentation for for user follow, get user, get post by id which can be found here and in the Group report.

  4. Task: Write the individual milestone report. This took a lot of time since it required me to organize each task I completed in a semantic way. I organized the tasks, written the .md code, and exported it to pdf. I then uploaded the report to moodle.

Week 11 (21.12.2021 - 28.12.2021)
  • Meeting: Lab 11

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: Backend Meeting

    • Duration: 30 minutes
    • Type of Work: Backend Meeting
    • Details: We discussed what we should do during this week and came up with these tasks: unfollow user, report, notification, filter/search, nearby stories, and activity stream. We split the tasks among each other and set the deadline to 26.12.2021.
  1. Task: Implemented the unfollowing functionality. When a user pushes the follow button twice, the followed user will be unfollowed. The follower user should be deleted from the followed user's follower list. Similarly, the followed user should be deleted from the follower user's following list.

  2. Task: Write unit tests for user follow. There were some bugs with authentication. I fixed them and changed the tests accordingly.

Week 12 (28.12.2021 - 04.01.2022)
  • Meeting: Lab 12

    • Duration: 2 hours
    • Type of Work: Lab Meeting
  • Meeting: Backend Meeting

    • Duration: 1 hour 40 minutes
    • Type of Work: Backend Meeting
    • Details: We merged the open pull requests and deployed the backend. We also fixed some errors and make some adjustments.
  • Meeting: General Meeting

    • Duration: 45 minutes
    • Type of Work: Meeting
    • Details: We talked about the presentation on Tuesday, decided to remove the database and add new posts to it.
  1. Task: Implemented the follow request. Also, added model and serializer for follow request.

    • Duration: 3 hours
    • Type of Work: Implementation
    • Issue: #515
    • Pull Request: #513
  2. Task: Implemented the accept/decline follow request.

    • Duration: 3 hours
    • Type of Work: Implementation
    • Issue: #515
    • Pull Request: #513
  3. Task: Implemented the get user helper function.

    • Duration: 2 hours
    • Type of Work: Implementation
    • Issue: #549
    • Pull Request: #513
  4. Task: Implemented the get follow requests.

    • Duration: 1 hour
    • Type of Work: Implementation
    • Issue: #547
    • Pull Request: #513
  5. Task: Implemented the report user/story functionality. Also, added model and serializer for report. An email is sent to the admin when a story or user is reported.

    • Duration: 2 hours
    • Type of Work: Implementation
    • Issue: #516
    • Pull Request: #514
  6. Task: Added change account settings functionality and deployed the backend. Mustafa already had written a similar code. So, I changed only some parts of it.

    • Duration: 15 minutes
    • Type of Work: Implementation
    • Issue: #546
  7. Task: Fixed the bug in report and follow functionality. Although it worked on my local it failed for the rest of the group. I fixed it and deployed again.

  8. Task: Added swagger for API documentation. The relevant commits can be found here. However, it doesn't include the body and header examples. So, maybe we won't use it.

    • Duration: 1 hour
    • Type of Work: Implementation
  9. Task: Implemented unit tests for follow, send follow request, accept/decline request, report user/story, follow yourself.

  10. Task: Fix a bug in the follow functionality.

  11. Task: Made a research about Wikidata.

    • Duration: 1 hour
    • Type of Work: Research
  12. Task: Fix the bug that causes the private user profile to return 401. Instead it should return the information except the posts, saved posts, liked posts, and comments. Also, fix the problem with the endpoint: api/post/all/user/<user_id> which causes the followed private account's get posts to return 401.

    • Duration: 1 hour
    • Type of Work: Implementation
    • Issue: #556
    • Commits: 1, 2
Week 12 (28.12.2021 - 04.01.2022)
  • Meeting: General Meeting
    • Duration: 45 minutes
    • Type of Work: Meeting
    • Details: We talked about the final milestone.
  1. Task: Write API documentation. I implemented and used Swagger for this.

    • Duration: 4 hours
    • Type of Work: Implementation/Documentation
  2. Task: Write System Manual installation and run with the requirements.

    • Duration: 30 minutes
    • Type of Work: Documentation
⚠️ **GitHub.com Fallback** ⚠️