Lab Report 7 - bounswe/bounswe2023group3 GitHub Wiki

Project Development Weekly Progress Report 7

Team Name: Group 3 - Prediction Poll
Date: 21.11.2023

Progress Summary

This week, we solidified our poll endpoints and implemented moderator related endpoints. We created moderator pages and components, improved our data connections to the backend and made poll lists. Looking ahead to the next week, we will be getting ready for the milestone and our second presentation. We will complete some modifications to our app to present a good product on this milestone.

What was planned for the week? How did it go?

Description Issue Assignee Due PR Estimated Duration Actual Duration
Implement Moderator Pending Poll Requests Page #321 FE/Beyza 21.11.2023 #396 2hr 1.5hr
Implement Moderator Poll Review Page #322 FE/Ali 21.11.2023 --- 2hr ---
Implement Poll Lists View #324 FE/Serra 21.11.2023 #342 2hr 2.5hr
Implement Data Connections #325 FE/Berk 21.11.2023 #399 2hr 2.5h
Ensure Reset Password and Logout Mechanism #327 FE/Berk, FE/Beyza 21.11.2023 #396 2hr 2.5hr
Github Actions CI/CD bugfix #308 BE/Alp Tuna 17.11.2023 #319 2hr 2hr
Swagger Classification and Response Schemas #317 BE/Alp Tuna 20.11.2023 #346 1.5hr 1.5hr
Fetch Poll with Specific Query Endpoint #318 BE/Alp Tuna 20.11.2023 #349 2hr 2hr
Moderator Entity Creation #310 BE/Batuhan İlhan 17.11.2023 #340 2hr 0.5hr
Moderator Approve and Decline Poll Endpoint #313 BE/Batuhan İlhan 21.11.2023 #360 2hr 3.5hr
Follow Endpoint Authorization #315 BE/Batuhan İlhan 21.11.2023 #362 1hr 0.5hr
Create Poll Endpoint Authorization #316 BE/Batuhan Çetin 19.11.2023 #323 1hr 1hr
Moderator Guard #311 BE/Batuhan Çetin 20.11.2023 #347 2hr 2hr
Moderator Fetch Polls Endpoint #312 BE/Batuhan Çetin 20.11.2023 #348 1hr 1hr
Connecting Home page to backend to fetch polls #326 MT/Berke 20.11.2023 --- 1.5hr ---
Connecting Profile page to backend to fetch polls #328 MT/Faruk 20.11.2023 --- 1.5hr ---
Connecting Poll Creation page to backend to fetch polls #329 MT/Faruk 20.11.2023 #365 1.5hr 1.5hr
Connecting Moderator approvement page to backend to approve polls #330 MT/Baturhan 20.11.2023 #358 1.5hr 1.5hr
Connecting Moderator Home page to backend to fetch requests #331 MT/Simar 20.11.2023 #361 1.5hr 1.5hr

Planned vs. Actual

  • Faruk Yıldırım: I wasn't able to complete my task last week. I completed it this week.
  • This issue of the frontend was not completed.

Your plans for the next week

Description Issue Assignee Due Estimated Duration
Implement Poll Lists According to Filter #375 FE/Serra 26.11.2023 1.5hr
Implement Detailed Tag Page #279 FE/Serra 26.11.2023 1.5hr
Deploy Frontend #376 FE/Serra, FE/Beyza, BE/Batuhan 26.11.2023 1.5hr
Add Logo #374 FE/Beyza 26.11.2023 1.5hr
Implement Interact with Poll and Follow Mechanisms #387 FE/Berk 26.11.2023 1.5hr
Implement User Connections #399 FE/Berk 26.11.2023 2hr
Implement Moderator Data Connections #377 FE/Beyza 26.11.2023 1.5hr
Implement Verification Page #392 FE/Ali 26.11.2023 1.5hr
Implement Unit Tests #398 FE Team 26.11.2023 1.5hr
Like Functionality #388 BE/Batuhan İlhan 27.11.2023 2hr
Comment Functionality #389 BE/Batuhan İlhan 27.11.2023 2hr
Add .env file #390 BE/Batuhan İlhan 26.11.2023 1hr
Fixing of approve status #391 BE/Batuhan İlhan 26.11.2023 1hr
Badge Entity #363 BE/Batuhan Çetin 25.11.2023 1hr
Moderator Login #364 BE/Batuhan Çetin 24.11.2023 1hr
Settle Poll #366 BE/Batuhan Çetin 27.11.2023 2.5hr
Refactor codebase and fix all bugs on endpoints #367 BE/Batuhan Çetin 27.11.2023 2.5hr
Get User by Username Endpoint #380 BE/Batuhan Çetin 24.11.2023 0.5hr
Poll Unit Tests #393 BE/Alp Tuna 27.11.2023 3hr
User Unit Tests #394 BE/Alp Tuna 27.11.2023 1.5hr
Moderator Unit Tests #395 BE/Alp Tuna 27.11.2023 1.5hr
Extending Filtering of Poll #397 BE/Alp Tuna 26.11.2023 2hr
Create Request Page for Settling Polls #373 MT/Baturhan 27.11.2023 3hr
Moderator Login Page #372 MT/Baturhan 27.11.2023 2hr
Connecting Necessary Endpoints of the Profile Page #371 MT/Faruk 27.11.2023 2hr
Connecting Necessary Endpoints of the Moderator Home Screen #370 MT/Simar 27.11.2023 2hr
Connecting Necessary Endpoints of the Home Screen #369 MT/Berke 27.11.2023 2hr

Scenarios for The Milestone

We have an example scenario that would also be used as a reference for our milestone 2 presentation (the related requirement is noted in a paranthesis next to the step):

  • Register with your email: email: your_email password: 1234567890 username: poll_striker

  • Go to your email and look at your verification code. (1.1.3)

  • Go to login page enter your credentials: (1.1.2) email: your_email password: 1234567890

  • You need to fill in your verification code in the page and you will be redirected to home page. (One time only) (1.1.3)

  • Click on a poll you are interested in from the home page.

  • Make a vote to the poll. (1.3.1)

  • Then change your idea and make an another vote.

  • Like the post. (1.3.3.)

  • Read the comments and add a comment that you would like to write. (1.3.2.)

  • Click on the username or user photo and go to user's profile. (1.2.3.)

  • Follow user. (1.3.10.)

  • Look at the users' polls. (1.2.1.)

  • Click on create a poll request button on the lefts side of the screen. (1.3.11.)

  • Enter a poll question you would like to know the predictions of. (1.3.11)

  • Enter tags as you like. (1.3.11)

  • Add options as you like. (1.3.11)

  • Choose a deadline. (1.3.11)

  • Click send for approval. (1.3.11)

  • User logs out. (1.3.13)

  • Meanwhile, a moderator logs in with the given credentials: username: xscdscd password: xsdjncsdc

  • They click on 'see details' button on the corresponding poll request that has been sent for approval. (1.4.1)

  • They click approval. (1.4.2)

  • They log out from moderator account (1.4.7)

  • Log in as user again. (1.1.2)

  • Click 'my profile' button on the sidebar. Click 'created' section.

  • See your newly created poll and enjoy your polling experience.

As you can see the implementation features cover most of the user and poll interactions such as liking, voting and commenting on a poll, creating a poll request, and also moderator and poll interactions such as approval or rejection. Moreover, there is user-user interactions like following a user and checking their profile and polls.

User Testing Scenario

The scenario given above will hold for the user testing scenario also, but in addition we will have some steps that will test the logic of our app, such as:

  • User tries to create a poll without tag. System doesn't allow it. (1.3.11)
  • User tries to create a poll with an invalid question like "How many ears does a cat have?" or "What is your favourite color?". Moderator rejects this poll request. (1.4.2.)
  • User tries to reset their password with invalid token. (1.1.3)

Risks

  • We have many tasks to cover, and the milestone overlapped with a busy period for all of us so we might face some problems with completing all our plans before the milestone.

Participants