- 使用言語: TypeScript
- discord.js v14 で作成
- 使用言語: TypeScript
- WebAPI: Hono
- ORM: Prisma
- RDBMS: MySQL
- Astro で作成
Caution
プログラムの中に、console.log()
するべきでない内容をconsole.log()
している可能性があります。実際にこのプログラムを使用する際は、console.log()
を全て消してください。
flowchart LR;
discordBot[Discord Bot] --cloudflare tunnel--- webApi["Web API (Hono)"]
webApi["Web API (Hono)"] --ORM: Prisma--- db["Database (RDBMS: MySQL)"]
subgraph bot
discordBot
end
subgraph backend
webApi
db
end
- yarn
Caution
以下のコマンドたちを実際に実行して試していないので、ご注意ください。
make-env.cmd
cd bot
yarn
cd ..
cd backend
yarn
#データベースに関する情報を適宜書き換える
yarn migrate
Caution
以下のコマンドたちを実際に実行して試していないので、ご注意ください。
sh make-env.sh
cd bot
yarn
cd ..
cd backend
yarn
#データベースに関する情報を適宜書き換える
yarn migrate
make-env.cmd
Caution
Linux 環境で実行した際の動作の確認をしていないため正しく動作しない可能性があります。
bash make-env.sh
Note
空の文字列(または数字)に適切な情報を入力してください。
Caution
.env
ファイルに書く内容は、外部に漏れてはいけない内容なので、必ず.gitignore
ファイルに.env
を書いてください。
TOKEN = ""
APPLICATIONID = ""
GUILDID = ""
REGISTERURL = ""
DELETEURL = ""
WEBAPIURL = ""
Note
空の文字列(または数字)に適切な情報を入力してください。
Note
IPADDRESS と PORT は、適宜変えてください。
Caution
.env
ファイルに書く内容は、外部に漏れてはいけない内容を含むので、必ず.gitignore
ファイルに.env
を書いてください。
IPADDRESS = "127.0.0.1"
PORT = "3000"
DOMAIN = ""
CLIENTID = ""
CLIENTSECRET = ""
GUILDID = ""
#以下はPrismaによって自動生成されるので、省略
# This was inserted by ~
Note
空の文字列(または数字)に適切な情報を入力してください。
Caution
.env
ファイルに書く内容は、外部に漏れてはいけない内容を含むので、必ず.gitignore
ファイルに.env
を書いてください。
DATABASE_URL=
MYSQL_ROOT_PASSWORD=
MYSQL_DATABASE=
TZ=
CLOUDFLARE_TUNNEL_TOKEN=
erDiagram
User ||--|{ Debt : lend
User ||--|{ Debt : borrow
User {
String discordId PK, UK "@id @unique"
String discordName
DateTime createdAt "@default(now())"
DateTime updatedAt "@updatedAt"
Debt debtLend "@relation('Lend')"
Debt debtBorrow "@relation('Borrow')"
}
Debt {
Int id PK, UK "@id @default(autoincrement())"
Int money
Boolean isPayOff
DateTime createdAt "@default(now())"
DateTime updatedAt "@updatedAt"
String lendId FK "@relation(name: 'Lend', fields: [lendId], references: [discordId])"
String borrowId FK "@relation(name: 'Borrow', fields: [borrowId], references: [discordId])"
}
- ユーザーの登録を行うエンドポイント
- 登録されているユーザーの登録を削除するエンドポイント
- 借金情報を追加するエンドポイント
isPayOff
をfalse
からtrue
に変えるエンドポイント
- 誰にどれくらい借金をしているかについての情報を返すエンドポイント
docker compose -f dev.docker-compose.yaml up -d
docker compose -f dev.docker-compose.yaml exec -it debtbot-backend npx prisma migrate dev --name init
docker compose -f prod.docker-compose.yaml up -d
docker compose -f prod.docker-compose.yaml exec -it debtbot-backend npx prisma migrate dev --name init
https://qiita.com/Mijinko/items/df3d2e1f90dbed5a4019
https://qiita.com/masayoshi4649/items/46fdb744cb8255f5eb98
https://nova.drifting-clouds.com/blog/mermaid-drawing-with-mdx
https://github.com/sjwall/mdx-mermaid
https://fossengineer.com/selfhosting-cloudflared-tunnel-docker/
https://zenn.dev/hrko/scraps/29df6c7ac02f03
https://fontplus.jp/usage/services/change-on-screen
https://qiita.com/leafeon00000/items/e190cf92af3a487cc749