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
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 |
- |