メインコンテンツまでスキップ

使用技術

ROBOPOを作るために使っている主な技術を、できるだけ平易に紹介します。

画面を作る技術​

技術役割
Next.js 16Webアプリの土台。ページの表示や通信を担当
React 19画面の部品(コンポーネント)を組み立てる仕組み
TypeScript間違いに気づきやすくするための、型付きプログラミング言語
Tailwind CSS 4見た目の装飾を簡単に書ける仕組み
DaisyUI 5Tailwindをベースにした「ボタン」「カード」などのパーツ集
lucide-reactシンプルで統一感のあるアイコン集

データを扱う技術​

技術役割
PostgreSQL大会・選手・得点などを保存するデータベース
Drizzle ORMプログラムからデータベースへアクセスするための仲介役
node-postgres (pg)Node.js ↔ PostgreSQL の通信ドライバ

ログイン・認証​

技術役割
Better Authユーザー名・パスワードでのログイン機能を提供。管理者と採点者の両方が使う認証基盤

コースエディタで使っている技術​

技術役割
@dnd-kitドラッグ&ドロップでミッションを並び替える仕組み

ビルド・テスト・開発ツール​

技術役割
Bunパッケージ管理・スクリプト実行・単体テスト実行のための高速ツール
Biomeコードのスタイルを整える(フォーマッター・リンター)
Playwright画面テスト(ブラウザ自動操作で E2E テスト)
Docusaurusこのマニュアルサイトを作る仕組み
mise開発環境の各種ツール(bun・ffmpeg など)を一元管理

モノレポ構成​

ROBOPOのソースコードは1つのリポジトリに複数のプロジェクトが同居する モノレポ 構成です。

パッケージ内容
@robopo/webメインのWebアプリ(管理画面・採点画面・観戦ページ)
@robopo/docsこのマニュアルサイト

リポジトリ​