- PostgreSQL
- Neo4j
- Meilisearch
※ initilize のときのみ使用
- Cloudflare R2
server では、Layered Architecture を採用している
※ SeaORM を採用している関係で構造が乱れているが、 SeaORM を使用する場合はこの構造のままの方が使いやすいので、この構造のままにしている
flowchart TD
presentation --> application
presentation --> domain
presentation --> infrastructure
application --> domain
application --> entity
domain --> entity
infrastructure --> domain
infrastructure --> entity
init --> infrastructure
init --> domain
migration
- src/presentation 以下の binary crate
- src/application 以下の library crate
- src/domain 以下の library crate
- src/infrastructure 以下の library crate
- migration
- entity
docker-compose -f dev.compose.yaml up -d
cargo-watch
が導入させていない環境向け
cargo run --bin presentation
cargo-watch
を導入済みの環境向け
sh start.sh
docker-compose -f dev.compose.yaml down --rmi all --volumes
sudo rm -rf postgres neo4j meilisearch
docker-compose -f prod.compose.yaml up -d
erDiagram
Item |o--|| Label : "VisibleId<->VisibleId"
Item {
i32 Id PK "1"
String VisibleId FK "0000"
String Name "筑波大學"
String ProductNumber ""
String Description "ルートの物品です"
Option_i32 PurchaseYear ""
Option_i32 PurchasePrice ""
Option_i32 Durability ""
boolean IsDepreciation "false"
Json Connector "vec![]"
boolean IsRent "false"
String Color ""
datetime CreatedAt "Utc::now().naive_utc()"
datetime UpdatedAt "Utc::now().naive_utc()"
}
Label {
String VisibleId UK "0000"
boolean IsMax "true"
String Record "Record::Nothing"
}
erDiagram
Item {
i32 Id PK "1"
String VisibleId FK "0000"
String Record "Record::Nothing"
String Name "筑波大學"
String ProductNumber ""
String Description "ルートの物品です"
Option_i32 PurchaseYear ""
Option_i32 PurchasePrice ""
Option_i32 Durability ""
boolean IsDepreciation "false"
Json Connector "vec![]"
boolean IsRent "false"
String Color ""
datetime CreatedAt "Utc::now().naive_utc()"
datetime UpdatedAt "Utc::now().naive_utc()"
}
flowchart TD
id1(("id: 1"))