Meeting Notes #13 - bounswe/bounswe2022group7 GitHub Wiki

Meeting Information

Date: 11/05/2022
Time: 20:00
Online/Offline: Online
Location: Zoom
Duration: 1 hour
Note Taker: Cahid Arda Öz

Attendees

  • Cahid Arda Öz
  • Demet Yayla
  • Ali Can Milani
  • Musa Şimşek
  • Erim Erkin Doğan
  • Mehmet Emin İpekdal
  • Güney İzol
  • Aziza Mankenova
  • Rafet Oğuz Pançuk
  • Atilla Türkmen
  • Can Atakan Uğur
  • Hasan Bingölbali

Agenda

  • Showcasing the code we have already written
  • Discuss the remaining major tasks and assign them
  • Identify questions we need to ask on Slack
  • Discuss errors in our code

Discussions

What do we have so far?

We have some features completed to some extend and team members can use these features as reference when implementing their own features:

  • Front-end (for reference, see create_event.html and view_event.html):
    • We can embed JS in HTML templates and make GET/POST requests.
    • We can react in different ways to different HTTP response status.
    • Process and display content in the JSON response.
  • Back-end (for reference, see PR #160):
    • Using tokens to manage sessions and block access to URI
    • Showing loggedin users different pages in the same URI (hide login button)
  • Database (for reference, see auth.py and event.py):
    • Access record with its primary key or any other field
    • Create and save record

What needs to be done?

There are still some high priority tasks to work on which will require team members to go through the learning curve. We discussed these tasks and assigned them among ourselves. These tasks are:

  • API documentation (erimerkin has already started to work on this. His work is available here. He informed us that this file can be imported to and edited in Postman.)
  • Unit tests: It was decided that we will use unittest library for the unit tests. See the research done on unittests for reference.
  • Preparing the configuration for Docker.
  • Deploying the app on AWS EC2.

User Types

We discussed merging the artist user type into the regular user type. This will be done depending on how hard it is to define a custom JWT decorator on Flask.

Token Lifetime

We discussed how the token terminates in Flask. We found a stackoverflow discussion showcasing how the lifetime of the token is defined. We decided to do something similar if necessary.

Error Handling for Database

When we are commiting to the database, unexpected errors may occur. In order to avoid these, we shall handle these errors with try/catch blocks.

Action Items

Item Responsible Person Reviewer Due Date Relevant Issue
Create a page on Wiki on Practice App API documentation and add the link to the sidebar Erim Erkin Doğan - 14/05/2022, 20:00 #174
Styling your own HTML templates with Bootstrap Musa Şimşek Demet Yayla 14/05/2022, 20:00 #207
Prepare the docker configuration for the project Erim Erkin Doğan, Can Atakan, Uğur Cahid Arda Öz 14/05/2022, 20:00 #170
Deploy the app on an EC2 instance using github actions. (For refence) Cahid Arda Öz, Aziza Mankenova Erim Erkin Doğan 14/05/2022, 20:00 #171

Conclusions

  • Each team member will create a test folder in the website directory and add their test files there in their own branch. Test files shall be named as test_xxx.py.
  • We need to make sure that we don't get an unexpected error from the database. In order to avoid unexpected errors, we should use try/catch blocks whenever we are interacting with the database. We will return a HTTP code starting with 5xx in that case. This response will be handled in the frontend.
  • Apparently we will need to prepare requirements for the group submission. Each team member will write the requirements for the features they are handling.
  • Unclaimed features listed in Meeting #12 will be claimed by other team members if they are not claimed soon.
  • We will meet again on saturday.