CleanなVoteのWebアプリを作ります。
パッケージマネージャはbunです。
フロントエンドはVite+TypeScript+React+Router、バックエンド(REST API)はhonoで作っています。
ReactRouterを使っているのでフロントエンドの全てのパスがindex.htmlになるようにしてください。
バックエンドはCloudflare worker用に作っていますがhonoなので知らべれば大体どこでも動きます。
バックエンドでのボット判定はTurnstile、データベースはCloudflare d1を使っていますが、utilsである程度の抽象化をしてたりしますのでお願いします。
$ bun i
# or
$ bun i
# or
$ bun i
# or
$ bun i
# or
$ npm i
# or etcbunこそ正義!bunこそ正義!bunこそ正義!bunこそ正義!でもnpm-run-allはnodejs無しで動くようになれよ...
実はnpm-run-allあるのでnodejsが必要っぽいです。
フロントエンドは4000、バックエンドは3928のポートで動きます。
$ bun run serve
# or
$ bun run serve
# or
$ bun run serve
# or
$ bun run serve
# or
$ npm run serve
# or etcクライアント側には.envにVITE_TURNSTILE_KEYにTurnstileのサイトキーを入れてください。
.env.productionにはVITE_API_KEYにバックエンドのREST APIのURLを入れてください。
サーバー側の.dev.varsにはapp.tsにある環境変数の宣言を見て察してください。