-
Notifications
You must be signed in to change notification settings - Fork 0
Class Diagram 451
Muhammed Erkam Gökcepınar edited this page Oct 24, 2024
·
2 revisions
classDiagram
class User {
-int id
-String username
-String email
-String password
}
class Admin {
+banUser(user: User)
+removePost(post: Post)
+removeComment(comment: Comment)
+removeTag(tag: Tag)
}
class GuestUser {
+register()
+viewPosts()
+viewStocks()
+viewProfiles()
+viewNews()
+searchUsers(username: String)
+searchPosts(query: String)
}
class RegisteredUser {
+login(username:String, password:String)
+resetPassword(newPassword:String)
+logout()
+createPost(title: String, content: String)
+likePost(post: Post)
+commentOnPost(post: Post, comment: Comment)
+followUser(user: User)
+addGraphToPost(post: Post, graph: Graph)
+createPortfolio(name: String)
+editPortfolio(portfolio: Portfolio)
}
class UserDetails {
-String bio
-String profilePicture
-String location
+editProfileDetails(bio: String, location: String)
}
class Post {
-int id
-String title
-String content
-int likeCount
-Date creationDate
-Date lastEditDate
+addComment(comment: Comment)
+editPost(content: String)
+deletePost()
}
class Tag{
-int id
-String name
+addTagToPost(post: Post)
+removeTagFromPost(post: Post)
}
class News{
-int id
-String title
-Date publicationDate
-String source
-String url
-String summary
}
class Index {
-int id
-String name
-String description
-List<Stock> stocks
-List<Graph> graphs
+addStock(stock: Stock)
+removeStock(stock: Stock)
+addGraph(graph: Graph)
+removeGraph(graph: Graph)
+editIndex(name: String, description: String)
}
class Comment {
-int id
-String content
-Date creationDate
+editComment(content: String)
+deleteComment()
}
class Portfolio {
-int id
-String name
-String description
-List<Stock> stocks
-List<Graph> graphs
+addStock(stock: Stock)
+removeStock(stock: Stock)
+addGraph(graph: Graph)
+removeGraph(graph: Graph)
+editPortfolio(name: String, description: String)
}
class Graph {
-int id
-String title
-String content
-Date creationDate
-Date lastEditDate
+editGraph(content: String)
+deleteGraph()
}
class Stock {
-int id
-String symbol
-double price
-String market
}
class StockDetails {
-String name
-String description
-String sector
-String industry
-String country
-String website
-String logo
}
class Badge {
-int id
-String type
-String description
+grantBadge(user: User)
}
Post "1" --> "0..*" Comment : has
Post "1" --> "0..*" Tag : has
Post "1" --> "0..*" Graph : has
Post "1" --> "0..*" Portfolio : has
Post "1" --> "0..*" News : has
Post "1" --> "0..*" User : has
Post "1" --> "0..*" Index : has
Post "1" --> "0..*" Stock : has
Portfolio "1" --> "1..*" Stock : has
Stock "1" --> "1" StockDetails : has
Index "1" --> "0..*" Stock : has
RegisteredUser "0" -- "0..*" Badge : has
RegisteredUser "1" --> "1" UserDetails : has
RegisteredUser <|-- Admin : extends
User <|-- RegisteredUser : extends
User <|-- GuestUser : extends
RegisteredUser "1" --> "0..*" Portfolio :has
RegisteredUser "1" --> "0..*" Comment :has
- Lab Report #1,24.09.2024
- Lab Report #2,01.10.2024
- Lab Report #3,08.10.2024
- Lab Report #4,15.10.2024
- Lab Report #5,06.11.2024
- Lab Report #9,10.12.2024
- 1st Meeting, 24.09.2024
- 2nd Meeting, 01.10.2024
- 3rd Meeting, 08.10.2024
- 4th Meeting, 15.10.2024
- 5th Meeting, 06.11.2024
- 8th Meeting, 03.12.2024
- 1st Meeting, 03.10.2024
- 2nd Meeting, 10.10.2024
- 3rd Meeting, 17.10.2024
- 4th Meeting, 19.10.2024
- 5th Meeting, 24.10.2024
- 6th Meeting, 02.11.2024
- 8th Meeting, 15.11.2024
- 9th Meeting, 28.11.2024
- 10th Meeting, 04.12.2024
- 11th Meeting, 12.12.2024
- Halil İbrahim Kasapoğlu
- Rukiye Aslan
- Kamil Deniz Coşkuner
- Mahmut Buğra Mert
- Furkan Şenkal
- Muhammed Erkam Gökcepınar
- Cem Güngör
- Oğuz Pançuk
Orkun Mahir Kılıç
SemanticFlix Archieve
- 1st Meeting,19.02.2024
- 2nd Meeting,21.02.2024
- 3rd Meeting,03.03.2024
- 4th Meeting,07.03.2024
- 5th Meeting,10.03.2024
- 6th Meeting,14.03.2024
- 7th Meeting,21.03.2024
- 8th Meeting,01.04.2024
- 9th Meeting,17.04.2024
- 10th Meeting,18.04.2024
- 11th Meeting,25.04.2024
- 12th Meeting,02.05.2024
- 13th Meeting,09.05.2024
- Halil İbrahim Kasapoğlu (Communicator)
- Rukiye Aslan
- Kamil Deniz Coşkuner
- Mahmut Buğra Mert
- İrem Nur Yıldırım
- Furkan Şenkal
- Muhammed Erkam Gökcepınar
- Osman Yasin Baştuğ
Okay DemirSait Hızlı