Technology & quality

使用言語ではなく、
安全に動かし続ける構成を説明。

技術の一覧だけでは業務システムの品質は分かりません。Juvekaは、本体、DB、認証、権限、テスト、バックアップ、復元、公開後の確認を一つの設計として扱います。

Architecture

本体とテストを分け、結果を照合。

Juveka Ordersでは、PHPが業務処理と権限判定、MariaDBがデータ整合、NginxがHTTPSと公開範囲、Python 3が回帰試験を担当します。各層の役割を分けることで、問題が起きた場所を特定しやすくします。

PHP 8系Python 3MariaDBNginxUbuntu LinuxHTML / CSS / JS
Juveka Ordersの技術構成
案件により技術は変えても、役割分担と確認方法を明確にします。
Stack details

Juveka Ordersで使用した構成

UI

HTML / CSS / JavaScript

PC・スマートフォンで読みやすい画面、入力補助、メニュー、確認表示を担当。追加ライブラリへ依存しすぎず、保守しやすさを優先しました。

PHP

PHP 8系

入力検証、業務処理、セッション、CSRF、役割別権限、DBアクセスを担当。画面の表示制御だけでなく、送信時にも権限を確認します。

Py

Python 3

ログイン、画面遷移、CSRF取得、患者追加、重複防止、退院・再入院などの書き込み回帰試験を自動化します。

DB

MariaDB

利用者、患者、指示、日次記録、定型文、監査等を関連付けて保存。外部キー、トリガー、復元後の整合も確認します。

Web

Nginx

HTTPS、静的ファイル、PHP-FPMへの接続、重要ファイル遮断、公開デモへの振り分け、Cookie範囲を担当します。

OS

Ubuntu Linux

サービス、ファイアウォール、ユーザー権限、SSH鍵認証、バックアップ保存、ログ、証明書更新を管理します。

AI

生成AIの利用

要件整理、コード案、テスト観点、説明文の補助に使用します。提案を未確認で採用せず、実行結果と差分で判断します。

2F

TOTP二段階認証

パスワードに加え、認証アプリの時間ベースコードを使用。秘密情報の保存とコード再利用にも注意します。

TLS

HTTPS・証明書更新

通信を暗号化し、HTTPをHTTPSへ転送。証明書は自動更新の模擬試験まで確認します。

段階的な品質確認
一つの試験結果を全体の品質へ拡大解釈しません。
Quality gates

何を確認した結果かを明確に。

構文、HTTP、書き込み、権限、UI、認証、復元は別の問題です。試験を分けると、失敗時の原因と再確認範囲が分かります。

構文・静的検査実行前にPHP、Python、Bash、公開用ファイルを確認。
HTTP・公開範囲必要なページは200、設定や内部パスは403。
書き込み回帰追加、更新、重複、日付、状態変化を再実行。
権限・認証役割別の実行範囲とTOTPログインを確認。
画面幅PC、タブレット相当、スマートフォン相当で主要画面を確認。
復元DB構造、関連、トリガー、HTTP、主要機能を照合。
Security model

安全性を「設定済み」だけで終わらせない。

認証

パスワード、TOTP、セッション更新、失敗時の扱い、再利用防止を確認します。

認可

利用者が見える画面と、サーバーが許可する処理を一致させます。

秘密情報

DB接続、暗号鍵、TOTP秘密情報を公開領域・公開ソース・チャットへ置きません。

通信・Cookie

HTTPS、Secure、HttpOnly、SameSite、Cookie対象パスを確認します。

環境分離

本番、非公開テスト、公開デモをコード、DB、認証情報、データ単位で分けます。

復旧

バックアップの成功ログだけでなく、実際の復元結果とアプリの応答を確認します。

Operational quality

公開後に必要な確認も、開発範囲に含める。

  • サービス稼働とHTTP応答
  • 証明書の期限と自動更新試験
  • バックアップの作成・保存容量・世代
  • 復元手順と復元後の確認
  • SSH鍵、管理者、不要アカウントの整理
  • 変更履歴、注意事項、未対応の記録

監視や保守の範囲は案件ごとに合意します。24時間監視や即時復旧を行う場合は、体制、連絡経路、目標復旧時間、費用を別途定める必要があります。

運用を含む成果物
構成・試験・復旧を引き継げる情報として残します。
AI policy

生成AIは速度を上げる補助。品質判定は実行結果。

AIを使う場面

  • 要件の論点整理
  • コード案と修正候補
  • テスト観点の洗い出し
  • ログや差分の整理
  • 利用者向け説明文の下書き

AIへ任せない判断

  • 未検証コードの本番反映
  • 秘密情報や実データの投入
  • 法令適合や安全性の断定
  • 実行結果なしの成功判定
  • 責任範囲や運用条件の決定

技術は、利用者と保守方法に合わせて選びます。

現在の環境、利用人数、データ量、外部連携、予算、保守担当を確認し、必要以上に複雑な構成へしません。