Proftime

MBVon Malte Budig
Proftime

Proftime は、大学における授業負担の計画と精算をデジタルで管理するためのモダンなWebアプリケーションです。Malte Budigによる卒業プロジェクトとして開発され、React、TanStack Query、Shadcn UI、Keycloakなどを活用。ロール別の画面構成、アクセシブルなフォーム、編集可能なテーブル、モジュール構造を備え、大学業務の効率化とデジタル化に貢献します。

🚀 大学業務のデジタル改革 – 私の卒業プロジェクト「Proftime」

Malte Budig – 2025年4月21日

大学における授業負担(デュプタート)の計画や精算業務は、いまだに手作業が多く、煩雑でエラーが起こりやすく、時間もかかります。私の卒業プロジェクト「Proftime」は、この課題を解決するために誕生しました。これは、講義計画・負担管理・精算を、大学職員が簡単に行えるようにする、現代的なWebアプリケーションです。

この記事では、ReactやTanStack、Keycloakなどの最新ツールを活用し、どのようにスケーラブルで実用的なシステムを構築したのかをご紹介します。


🎯 目標:Excelからの脱却、わかりやすさの追求

主なターゲットユーザーは以下の通りです:

  • 教授陣:授業を計画し、負担を提出・精算
  • 学部長(ディーン):学部全体の計画や承認、負担軽減の管理

私の目標は、直感的でモジュール化され、保守性が高く、安全性のあるシステムを構築することでした。

スタートページのスクリーンショット


🧱 技術基盤:モダンで堅牢、柔軟な構造

本システムは、TypeScriptを使ったReactフロントエンドSpring BootベースのREST APIをバックエンドに持つ構成です。主なフロントエンド技術は以下の通りです:

  • TanStack Router & Query – 型安全なルーティングとデータ管理
  • Shadcn UI – 柔軟でカスタマイズ可能なUIコンポーネント
  • React Hook Form + Zod – 型安全なフォームバリデーション
  • i18next – 多言語対応を初期段階から実装
  • Keycloak – 安全なログインとロールベースのアクセス制御

アーキテクチャはモジュール構造で、Dockerによる開発環境、明確なスキーマ設計が特徴です。


🧑‍💻 UXと機能:効率的でアクセシブル、丁寧な設計

ユーザビリティに重点を置きました:

  • サイドバー・ヘッダー・アクションバーのある明確なUI
  • ロールに応じた画面構成(教授とディーン)
  • 編集可能なテーブルの再利用
  • 入力バリデーションとアクセシビリティ対応のダイアログ・フォーム
  • 多言語対応を最初から実装
  • 型定義されたデータ構造とフィルタ機能

インライン編集可能なテーブル

**RBAC(ロールベースアクセス制御)**により、利用者は自分に関係する情報のみを閲覧でき、情報の整理とセキュリティを両立しています。

ロール別のUI


🧪 品質と拡張性

開発時にはテスト性と将来的な拡張性を重視しました:

  • モジュール化された型付きコンポーネント
  • 単体テストと統合テストの実施
  • Zodによる中央集約型スキーマ管理
  • ロジック・構造・スタイルの明確な分離

今後の課題:CI/CDの導入、E2Eテスト、アクセシビリティ改善(WCAG準拠)


✨ 結論:大学業務をスマートにする第一歩

Proftime は、時代遅れのメールベース業務を卒業し、直感的かつ効率的で、将来性のあるデジタルソリューションを提供します。将来的には、承認ワークフロー、データ出力、自動レポート機能などへの拡張も可能です。

学び:「技術が実際のニーズと結びついたとき、本当に役立つソフトウェアが生まれる。」


※ このプロジェクトのソースコードは公開されていません。

Projektinformationen

Veröffentlicht am:4/21/2024
Aktualisiert am:4/21/2024
Von:Malte Budig

Tags

reactshadcnuitanstack query