-
Notifications
You must be signed in to change notification settings - Fork 0
/
TasteWorld.jdl
70 lines (54 loc) · 1.35 KB
/
TasteWorld.jdl
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
//application {
// config {
// baseName TasteWorld,
// applicationType monolith,
// packageName com.zipcode.project,
// authenticationType jwt,
// prodDatabaseType mysql,
// clientFramework react
// }
// entities *
//}
entity UserProfile {
name String required
}
entity Cuisine {
name String,
origin String,
description String
}
entity Recipe {
name String,
ingredients String,
instructions String
// cuisineID Long
}
entity Review {
rating Integer required min(1) max(5),
comment String
}
entity User {
login String unique
}
// Defining multiple OneToMany relationships with comments
relationship OneToMany {
UserProfile{review} to Review{userProfile},
Cuisine{recipe} to Recipe{cuisine},
Recipe{review} to Review{recipe}
// UserProfile{recipe} to Recipe{userProfile}
}
relationship ManyToOne { // Define the ManyToOne relationship between UserProfile and Recipe
UserProfile{recipe} to Recipe{userProfile}
}
relationship OneToOne {
UserProfile{internalUser(login)} to User
}
// Set pagination options
//paginate Cuisine, Review, Recipe, User with infinite-scroll
//paginate Job with pagination
// Use Data Transfer Objects (DTO)
// dto * with mapstruct
// Set service options to all except few
//service all with serviceImpl except Employee, Job
// Set an angular suffix
// angularSuffix * with mySuffix