Python/Djangoベースのオンライン試験管理システム

Web

概要

本リポジトリは「在线考试系统(オンライン試験システム)」を題材にした卒業設計・実戦プロジェクトで、Django(Python)をバックエンド、Vue3をフロントエンドにした前後端分離アーキテクチャを前提としています。MySQL 8.0をデータストアに用い、学校・クラス・学生・教師・科目・試験管理といった基本モジュールを備え、学生・教師・管理者のロールに対応します。READMEには技術スタックや機能一覧、実行環境の概略が記載されており、ソース・ドキュメント・デプロイ手順の提供が想定されている教育向けの参考実装です。

GitHub

リポジトリの統計情報

  • スター数: 1
  • フォーク数: 0
  • ウォッチャー数: 1
  • コミット数: 2
  • ファイル数: 1
  • メインの言語: 未指定

主な特徴

  • 前後端分離(Django + Vue3)を採用したモダンな構成
  • 学校・クラス・学生・教師・科目・試験など教育機関向けの主要機能群
  • MySQL 8.0を用いることで実運用に近いデータ設計が可能
  • 卒業設計向けにソース、ドキュメント、デプロイ手順を含む想定

技術的なポイント

本プロジェクトはDjango(Python 3.x)をバックエンドに、Vue3をフロントエンドに据えた前後分離型の典型的なWebアプリケーション設計を想定しています。バックエンド側はDjango ORMによるモデル設計で学校・クラス・ユーザ(学生・教師・管理者)・試験・問題・成績などのエンティティを管理し、MySQLを用いて永続化します。実務的にはDjango REST Frameworkなどを用いてRESTful APIを提供し、認証にはセッション認証またはJWT等のトークンベース認証を採用するのが自然です。フロントエンドはVue3とルーティング(Vue Router)、状態管理(Pinia/Vuex)を組み合わせ、AxiosによるAPI通信でユーザ体験を構築します。前後端分離に伴うCORS設定、APIバージョニング、入力検証・サニタイズ、認可ロジック(役割ベースアクセス制御)などの実装ポイントが重要です。運用面では静的ファイル配信やメディアファイル管理、Djangoのマイグレーション戦略、Gunicorn+Nginx構成、Docker化やCI/CDによる自動テスト・デプロイを想定するとスムーズです。セキュリティ上はSQLインジェクション対策(ORM利用)、クロスサイトスクリプティング防止、試験データの改ざん防止、通信のTLS化、パスワードハッシュ化や権限検査が必須になります。READMEにはデプロイ手順やディレクトリ構成が「待補充」とあり、学習用途ではまずローカル環境での依存関係(requirements.txt、Nodeモジュール)、データベース設定、初期マイグレーション、管理者ユーザ作成、フロントのビルド手順を整備することが推奨されます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file

まとめ

学習・卒業制作向けの実践的なオンライン試験システムの雛形で、前後分離による拡張性が魅力です(約50字)。

リポジトリ情報: