-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEntitiesModel.puml
113 lines (92 loc) · 1.76 KB
/
EntitiesModel.puml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
@startuml
interface User extends UriEntity implements UserDetails {
username : String
password : String
email : String
dni: String
dateOfBirth: String
}
class Client implements User{
}
class Admin implements User{
}
class ShelterVolunteer implements User{
}
class UriEntity {
uri : String
}
class Pet {
id: Integer
name: String
isAdopted: Boolean
color: String
size: String
weight: double
age: String
description: String
breed: String
img: String
}
class Shelter {
id: Integer
name: String
email: String
mobile : String
createdAt: DateDateTime
updatedAt: DateDateTime
isActive: Boolean
rating: Integer
}
class Location {
id: Integer
address: String
latitude: Float
longitude: Float
province: String
municipality: String
postalCode: String
}
class ShelterCertificate {
id: String
expirationDate: DateDateTime
}
class SocialNetworks {
id: Integer
username: String
typeOfSocialNetwork: String
url: String
}
class Schedule {
id: Integer
startDateTime: DateTime
endDateTime: DateTime
}
class Adoption{
id: Integer
type: String
confirmed: Boolean
startDate: DateTime
endDate: DateTime
}
class MedicalRecord {
id : Integer
issue : String
description: String
date : Date
}
class FavouritedPets {
id : Long
petId : Long
}
Pet "1" -- "*" MedicalRecord : has >
Location "1" -> "1" Shelter : has>
Shelter "1" -> "*" SocialNetworks : < has
Shelter "1" -> "*" Pet : has >
Shelter "1" -> "1" ShelterCertificate : has >
Schedule "1.*" -> "1" Shelter :available >
Client "*" -> "*" Shelter : donate >
Adoption "*" -> "1" Pet :adopted >
Adoption "*" -> "1" User :adopt <
ShelterVolunteer "1.*" -> "*" Shelter : works >
User "1" -> "*" FavouritedPets : hasFavourited >
@enduml