運営と運命を共にする、うんち実況(セーラージュピター)
| ヘッドラインページ | スレ閲覧ページ | スレ立てページ |
|---|---|---|
うんJは、おーぷん2ちゃんねる風の掲示板です。
- 特徴
- PCとスマホに対応
- 自動更新
- スクリプト耐性あり、DDoS耐性なし
- 維持費0円
- 開発言語: TypeScript
- 開発環境: Volta / pnpm / Biome
- フロントエンド: Svelte 5 / SMUI → Tailwind CSS(移行中)
- バックエンド: Express / Socket.IO
- その他: Valibot / JavaScript obfuscator
src/
├── client/ # フロントエンド(Svelte 5 + Svelte Routing)
│ ├── pages/ # SPAページ群(.svelteファイル)
│ ├── parts/ # UIパーツ・コンポーネント
│ ├── plugs/ # 遷移前チェック・ロジック
│ └── mylib/ # クライアント専用ユーティリティ
├── common/ # フロント & バック共通
│ ├── request/ # フロント→バック送信用スキーマ(Valibot)
│ └── response/ # バック→フロントの型定義(`as`で上書き前提)
├── server/ # バックエンド(Express + Socket.IO)
│ ├── admin/ # 管理系API(Expressルート)
│ ├── api/ # ソケット系API(Socket.IO)
│ └── mylib/ # サーバー専用ユーティリティ
- Voltaをインストール
- このリポジトリをローカルにクローン
- pnpmをインストール
- このREADME.mdがある階層をvscodeで開く
- 拡張機能タブから推奨事項をインストールする
.env.exampleを複製して.envにリネーム- このREADME.mdがある階層で
pnpm i - よく使うコマンド
pnpm run dev: 開発ビルド(バックエンドはtsxで直接実行される)pnpm run stg: 検証ビルド(ソースコード難読化、localStorage難読化+nodeで実行される)pnpm run prod: 本番ビルド(ルーティング以外は検証ビルドと同じ。デプロイ用。動作確認不可)pnpm run sync: ビルド成果物を親の別ディレクトリに複製する。本番ビルド用。
開発ビルドと検証ビルドは http://localhost:4545 から動作確認可能です。
デプロイを行うには、複数の PaaS サービスにおいて無料アカウントを作成する必要があります。
詳細は スタートガイド をご覧ください。
-
AGPL-3.0
本プロジェクト全体は AGPL-3.0 ライセンスの下で提供されています。
詳細はLICENSEをご確認ください。 -
コントリビューションについて
本プロジェクトへのコントリビューションを行った場合、
その内容は AGPL-3.0 ライセンスに従うことに同意したものとみなされます。