Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Software Design: Class Diagram - Annotation #87

Closed
4 tasks done
xltvy opened this issue Apr 3, 2022 · 4 comments
Closed
4 tasks done

Software Design: Class Diagram - Annotation #87

xltvy opened this issue Apr 3, 2022 · 4 comments
Assignees
Labels
diagrams Related to use-case/class/sequence diagrams priority-high High level priority issue Status: Completed Issue is solved type-system design System design related

Comments

@xltvy
Copy link
Contributor

xltvy commented Apr 3, 2022

Issue Description

As the next part of the software design process, we will provide a class diagram for our project moving from the use case diagram phase. Class diagram will be completed with a collective effort and I will be preparing the annotation sub-section of the diagram.

Ekran Resmi 2022-04-03 22 24 12

  • The class diagram will be generated using the Lucichart app, and the diagram can be viewed here .

Step Details

Steps that will be performed:

  • ID system
  • Upvote system
  • Ownership
  • Content

This is a list of features that the Annotation class has. This structure may be enhanced/enlarged and new base titles can be added in the future, as Annotation class may have more features.

Final Actions

  • After each part of the Annotation class is determined and combined into a diagram, it will be merged into the main class diagram provided in this link.
  • After completion, this issue will be reviewed and evaluated by the team members upon closing the issue.

Deadline of the Issue

04.04.2022 - Monday - 23.59

Reviewer

Muhammed Enes Sürmeli

Deadline for the Review

05.04.2022 - Tuesday - 10.00

@xltvy xltvy added priority-medium Medium level priority issue status-new New issue in initial state labels Apr 3, 2022
@xltvy xltvy self-assigned this Apr 3, 2022
@xltvy xltvy added type-system design System design related diagrams Related to use-case/class/sequence diagrams labels Apr 3, 2022
@xltvy xltvy mentioned this issue Apr 3, 2022
13 tasks
@xltvy xltvy added priority-high High level priority issue status-inprogress Issue is currently worked and removed priority-medium Medium level priority issue status-new New issue in initial state labels Apr 3, 2022
@xltvy
Copy link
Contributor Author

xltvy commented Apr 4, 2022

Info:

I have created the initial form of the Annotation class as part of the class diagram of our project.

Here is a screenshot taken directly from our class diagram, which can be viewed from this link:

Ekran Resmi 2022-04-04 22 49 53

This issue will be reviewed and if necessary edited/updated further.

@xltvy xltvy added status-needreview A review to the issue is needed and removed status-inprogress Issue is currently worked labels Apr 4, 2022
@xltvy
Copy link
Contributor Author

xltvy commented Apr 4, 2022

Attributes

I defined the class attributes as follows:

Attribute Name Type Description
annotation_id int ID of the annotation
owner_id UID ID of the user that created this annotation
course_id int ID of the course that this annotation belongs to
category_id int ID of the category that this annotation belongs to
chapter_number int number of the chapter that this annotation belongs to
page_number int number of the page that this annotation belongs to
pos_x float X coordinate of location of the annotation on a page
pos_y float Y coordinate of location of the annotation on a page
created_at Date The date this annotation is created
updated_at Date The date this annotation is updated latest
deleted_at Date The date this annotation is deleted
upvote int Number of upvotes this annotation received
content string Content of the annotation as a text

@xltvy
Copy link
Contributor Author

xltvy commented Apr 4, 2022

Methods

I defined the class methods as follows:

Method Name Parameters Return Type
createAnnotation annotation_id: int, owner_id: UID, course_id: int, category_id: int, chapter_number: int, page_number: int, pos_x: float, pos_y: float, created_at: Date, content: string void
editAnnotation new_content: string, edit_date: Date void
deleteAnnotation - void
getUserId - UID
getCategory - int
getCourse - int
getDate - Date
getUpvote - int
upvote - void
downvote - void

@surmelienes1
Copy link
Contributor

It looks very good and complete for now, great job! Thank you Altay for your valuable contributions. After we hold our meeting to review the class diagram as a whole, we can make an additional integrity check according to the rest of the work from other team members.

I will now close this issue since I don't see any changes to be further made. If you have additional questions, suggestions, or ideas, you can reopen this issue and add your thoughts as a comment.

@surmelienes1 surmelienes1 added Status: Completed Issue is solved and removed status-needreview A review to the issue is needed labels Apr 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
diagrams Related to use-case/class/sequence diagrams priority-high High level priority issue Status: Completed Issue is solved type-system design System design related
Projects
None yet
Development

No branches or pull requests

2 participants