Modeling Database architecture [UML] #21
Replies: 10 comments 8 replies
-
Salam everyone, I would like to add this just like a base UML class diagram:
@startuml
class User {
- username: String
- password: String
- email: String
- preferences: Preferences
}
class Course {
- courseCode: String
- name: String
- description: String
- resources: List<Resource>
}
class Assignment {
- title: String
- description: String
- deadline: Date
- status: String
}
class Reminder {
- title: String
- description: String
- date: Date
}
class Collaboration {
- groupMembers: List<User>
- discussions: List<Discussion>
- sharedResources: List<Resource>
}
class ResourceLibrary {
- resources: List<Resource>
}
class ProgressTracking {
- completedAssignments: List<Assignment>
- grades: List<Grade>
- milestones: List<Milestone>
}
class Analytics {
- performanceData: PerformanceData
}
class Preferences {
- theme: String
- notifications: Boolean
}
class Resource {
- title: String
- url: String
}
class Event {
- title: String
- description: String
- date: Date
}
class Discussion {
- participants: List<User>
- messages: List<Message>
}
class Grade {
- assignment: Assignment
- value: Double
}
class Milestone {
- title: String
- date: Date
}
class Message {
- sender: User
- content: String
- timestamp: Date
}
User "1" -- "1" Preferences
User "1" *-- "*" Course
Course "1" *-- "*" Assignment
Reminder "1" -- "1" User
Collaboration "1" -- "*" User
Collaboration "1" *-- "*" Discussion
Collaboration "1" *-- "*" Resource
ResourceLibrary "1" -- "*" Resource
ProgressTracking "1" -- "*" Assignment
ProgressTracking "1" -- "*" Grade
ProgressTracking "1" -- "*" Milestone
Analytics "1" -- "1" User
Analytics "1" -- "1" PerformanceData
Discussion "1" -- "*" User
Discussion "1" *-- "*" Message
@enduml |
Beta Was this translation helpful? Give feedback.
-
fantastic 👌 |
Beta Was this translation helpful? Give feedback.
-
but first you can update the user model with the existing one on backend |
Beta Was this translation helpful? Give feedback.
-
Considering my most recent project (SPE), I believe the user class still requires a few extra fields. after including the fundamental features like RBAC and password reset. The model in use looked like this: class User {
- fname: String
- lname: String
- password: String
- email: String
- password: String
- roles: List<Message>
- tel: String
- delete : Boolean
- changePasswordAt: DateTime
- preferences: Preferences
- passwordResetToken: String,
- passwordResetExpires: Date,
} I think no need for an address, also about About the fields |
Beta Was this translation helpful? Give feedback.
-
sure thing, those field can help with the password restore logic; we can also add other base fields at some point like "createdBy", "createdDate", "lastModifiedBy", "lastModifiedDate" |
Beta Was this translation helpful? Give feedback.
-
I want to add these fields
|
Beta Was this translation helpful? Give feedback.
-
How many times do you plan to let the users reset their password? |
Beta Was this translation helpful? Give feedback.
-
about the delete field ? should i add deleted field ? and then when ever a doc deleted i just set delete to true |
Beta Was this translation helpful? Give feedback.
-
but there will be a problem of unique fields |
Beta Was this translation helpful? Give feedback.
-
in this discussion we will starting modeling of project depending of our use case needs
every update about the classes we create or modify will be displayed here ,
feel free to ask question or give suggestions
Beta Was this translation helpful? Give feedback.
All reactions