Created
September 18, 2018 17:28
-
-
Save deepu105/83145766158bf8923d20866de1221afa to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
application { | |
config { | |
baseName store, | |
applicationType gateway, | |
packageName com.jhipster.demo.store, | |
serviceDiscoveryType eureka, | |
authenticationType jwt, | |
prodDatabaseType mysql, | |
cacheProvider hazelcast, | |
buildTool gradle, | |
clientFramework react, | |
useSass true, | |
testFrameworks [protractor] | |
} | |
entities * | |
} | |
application { | |
config { | |
baseName invoice, | |
applicationType microservice, | |
packageName com.jhipster.demo.invoice, | |
serviceDiscoveryType eureka, | |
authenticationType jwt, | |
prodDatabaseType mysql, | |
buildTool gradle, | |
serverPort 8081, | |
skipUserManagement true | |
} | |
entities Invoice, Shipment | |
} | |
application { | |
config { | |
baseName notification, | |
applicationType microservice, | |
packageName com.jhipster.demo.notification, | |
serviceDiscoveryType eureka, | |
authenticationType jwt, | |
databaseType mongodb, | |
prodDatabaseType mongodb, | |
devDatabaseType mongodb, | |
cacheProvider no, | |
enableHibernateCache false, | |
buildTool gradle, | |
serverPort 8082, | |
skipUserManagement true | |
} | |
entities Notification | |
} | |
/* Entities for Store Gateway */ | |
/** Product sold by the Online store */ | |
entity Product { | |
name String required | |
description String | |
price BigDecimal required min(0) | |
size Size required | |
image ImageBlob | |
} | |
enum Size { | |
S, M, L, XL, XXL | |
} | |
entity ProductCategory { | |
name String required | |
description String | |
} | |
entity Customer { | |
firstName String required | |
lastName String required | |
gender Gender required | |
email String required pattern(/^[^@\s]+@[^@\s]+\.[^@\s]+$/) | |
phone String required | |
addressLine1 String required | |
addressLine2 String | |
city String required | |
country String required | |
} | |
enum Gender { | |
MALE, FEMALE, OTHER | |
} | |
entity ProductOrder { | |
placedDate Instant required | |
status OrderStatus required | |
code String required | |
invoiceId Long | |
} | |
enum OrderStatus { | |
COMPLETED, PENDING, CANCELLED | |
} | |
entity OrderItem { | |
quantity Integer required min(0) | |
totalPrice BigDecimal required min(0) | |
status OrderItemStatus required | |
} | |
enum OrderItemStatus { | |
AVAILABLE, OUT_OF_STOCK, BACK_ORDER | |
} | |
relationship OneToOne { | |
Customer{user(login) required} to User | |
} | |
relationship ManyToOne { | |
OrderItem{product(name) required} to Product | |
} | |
relationship OneToMany { | |
Customer{order} to ProductOrder{customer(email) required}, | |
ProductOrder{orderItem} to OrderItem{order(code) required} , | |
ProductCategory{product} to Product{productCategory(name)} | |
} | |
service Product, ProductCategory, Customer, ProductOrder, OrderItem with serviceClass | |
paginate Product, Customer, ProductOrder, OrderItem with pagination | |
/* Entities for Invoice microservice */ | |
entity Invoice { | |
code String required | |
date Instant required | |
details String | |
status InvoiceStatus required | |
paymentMethod PaymentMethod required | |
paymentDate Instant required | |
paymentAmount BigDecimal required | |
} | |
enum InvoiceStatus { | |
PAID, ISSUED, CANCELLED | |
} | |
entity Shipment { | |
trackingCode String | |
date Instant required | |
details String | |
} | |
enum PaymentMethod { | |
CREDIT_CARD, CASH_ON_DELIVERY, PAYPAL | |
} | |
relationship OneToMany { | |
Invoice{shipment} to Shipment{invoice(code) required} | |
} | |
service Invoice, Shipment with serviceClass | |
paginate Invoice, Shipment with pagination | |
microservice Invoice, Shipment with invoice | |
/* Entities for notification microservice */ | |
entity Notification { | |
date Instant required | |
details String | |
sentDate Instant required | |
format NotificationType required | |
userId Long required | |
productId Long required | |
} | |
enum NotificationType { | |
EMAIL, SMS, PARCEL | |
} | |
microservice Notification with notification |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
if running on os-es having a VM for docker (Windows, macOS); remember to increase memory to at least 6GiB when running this.