CMPE451 Meeting Notes #5 - bounswe/bounswe2022group7 GitHub Wiki


Meeting Information

Date: 8/11/2022
Time: 13:00
Online/Offline: Offline
Duration: 1 hour 40 minutes
Note Taker: Cahid Arda Öz

Attendees

  • Cahid Arda Öz
  • Demet Yayla
  • Ali Can Milani
  • Musa Şimşek
  • Enes Aydoğduoğlu
  • Erim Erkin Doğan
  • Güney İzol
  • Atilla Türkmen
  • Can Atakan Uğur
  • Başak Önder
  • Sabri Mete Akyüz
  • Muhammet Ekrem Gezgen

Agenda

  • Discussing the tasks that remain from the first milestone.
  • Updating the existing endpoints
  • Planning the features, pages and endpoints for the next milestone

Tasks from first milestone

Customer Meeting Feedback

  • We were requested to make some changes in the signup form. Refer to the group review for details. This needs to be handled both in frontend and mobile. Additionally, we should make sure that our checks in frontend and mobile forms are the same. One check we must have is to not allow usernames that can cause a problem in URL.
  • We should define a font and color theme for mobile and frontend.

Updating Project Plan

  • devops will be added
  • teams will be updated
  • profile page, regular user features and discussion page will be moved to post-milestone period (Regular user features exist in the current project plan but I don't know what they mean. You can ask Atakan. -Arda)
  • Annotations will be moved to the period between first and second milestone.

Endpoints

  • Token will be updated to include user id or e-mail as payload. It is upto the backend to decide which field to include as payload since they will be decoding and using the payload.
  • We currently have several endpoints for handling event features. One for retriving generic events and the other for retriving events for some user. This is unnecessary. The new plan is to have one endpoint event.
    • If the request is a GET request, then backend will check whether there is a token and return events.
    • If the request is a POST request, then backend will treat the request as a new event request. This request must have a token.
    • If the request is a DELETE request, then backend will treat it as a delete event request. This request must have a token. The username with which the token is generated must match the event.
  • We will not deal with several HTTP status codes for now. From the front and mobile perspective, the responses will be treated as "200 and others":
    • If the response is 200 it was succesful.
    • If the response is something else, it's an error and it has an error description in the body.

Other Discussions

  • Backend may need help in the future as the workload of other teams decrease.
  • Erkin will attempt to set up Swagger for backend endpoint documentation.
  • We will remove copyrightProtectedArtItems field from the database. There will only be artItems.
  • Currently, we store images as URL. We may need to change this. Storing images as base64 is an option. Database has enough space (Roughly 30 GB). We can have a limit and store images in the database. Frontend and mobile will check whether they can decode/encode images as base64.
  • We need annotations before second milestone. We may additionally handle recommendatons or semantic search feature in this milestone to reduce workload after this milestone.

Endpoints Planned for Second Milestone

Following is a table showing the endpoints and pages we add until the next milestone. At the end of this week, we will have finished the first nine. Some are already somewhat handled.

Endpoint Page Type Token Functionality
? - GET Required Return username of the token
home/artitem Home GET Optional Return generic art items if there is no token. Return art items for user if there is a token
home/event Home GET Optional Return generic events if there is no token. Return events for user if there is a token
artitem Art Item Page GET Not Required Get art item information
event Event Page GET Not Required Get event information
artitem Create art item page POST Required Create a new art item as the user who generated the token
event Create physical event page POST Required Create a physical event as the user who generated the token
artitem - DELETE Required Delete art item. Succesful if only if the token matches the user who owns the art item
event - DELETE Required Delete physical event. Succesful if only if the token matches the user who created the event
profile Profile Page GET Not Required Return public profile information of the user (bookmarks, art items, events, followed users, follows)
settings Settings Page GET Required Get settings of the user. These will be displayed in the settings page of the user who is logged in.
settings Settings Page POST Required Update settings of the user who is logged in
annotation ... ... Required Refer to these docs for frontend text annotations. There will be more for image annotations in frontend. Mobile will possibly request more endpoints
discussionForum Discussion Forum GET Not Required Get list of discussion posts on the platform
discussion Discussion Post GET Not Required Get a discussion post and comments under it
discussion Discussion Post POST Required Create a new discussion post
comment DiscussionPost, Art Item, Event (Any page with a comment section) POST Required Create a new comment in the comment section.
follow Any page where we can click follow user POST Required Follow a user
like Any page with comment section POST Required Like a comment
geotagging ? POST Required Save user location

Action Items

Item Responsible Person Due Date Relevant Issue
Adding Swagger for documentation Erim Erkin Doğan 15.11.2022 -
Fixing issues in the endpoints such as: sending the token inside a JSON, merging existing endpoints by handling the token in one endpoint. Sabri Mete - -
Providing the expected fields for the POST and DELETE endpoints of the first week BACKEND 9.11.2022 -
Research on annotations for mobile MOBILE 15.11.2022 -
Updating the project plan Can Atakan Uğur 15.11.2022 -
Updating the fields in the signup form according to the customer meeting feedback MOBILE, FRONTEND, MOBILE 15.11.2022 -
Learning about image encoding/decoding as base64 MOBILE, FRONTEND 10.11.2022 -
Implementing first week endpoints BACKEND 15.11.2022 -
Implementing first week pages BACKEND 15.11.2022 -