あのサイトっぽい掲示板を Cloudflare Pages Functions と D1 SQLite で作った

あけおメンチカツ。ことよロースカツ。


ポケ熱同盟よ、永遠に…。


「ポケモン熱狂的ファンはココが違う!」、略して「ポケ熱」というポケモンサイトに入り浸っていた2000年代初頭。「ポケ熱同盟」の掲示板には大変お世話になった。

「ポケ熱同盟 BBS」は「Tacky's Room」の「挨拶しちゃ朗」という CGI がベースになっていた。今回はコレを模した掲示板サイトを、Cloudflare Pages Functions と D1 という SQLite サービスで作ってみた。

ソースコードは以下。

Cloudflare Pages や Cloudflare Pages Functions (実体は Cloudflare Workers)、そして D1 をどのようにセットアップしたかは全て README.md に書いた。

Cloudflare Workers と Cloudflare Pages Functions の立て付けの違いがイマイチ分からなかったのだが、Cloudflare Workers は前にも使ったことがあるので、今回は使ったことないモノを使うことにした。D1 についてはまだ Alpha 版だが、今回のような新しい投稿から順に見えるような掲示板を作る時は Cloudflare Workers KV (KVS) よりも SQLite (RDB) の方が扱いやすかった。

全て Vanilla JS で実装しており、TypeScript だとか、SPA フレームワークだとかは使っていない。CSS でタイトルと背景画像風のグラデーションを作るのを頑張った。

SQLite の容量上限とかはチェックしてない作りになっているので、Cloudflare D1 の制限に引っかかってサイトが壊れるくらいには皆に投稿してもらいたいな。

以上。