Web 制作会社やフリーランス、学内技術支援部門などでの利用を想定した、
見積作成用 Web アプリのプロトタイプを制作しました。
フロントエンドのみで、
「実務で説明できる業務アプリ」を意識して制作した見積作成ツールです。
バックエンドを使用せず、
HTML / CSS / JavaScript のみで完結する構成とし、
項目管理・金額計算・保存・印刷までをフロントエンドで実装しています。
https://stanv.shop/apps/quote/


制作背景・目的

職業訓練の卒業制作として、実務で「実際に使われる」こと
単なる見た目ではなく業務フローを意識した設計
将来的に海外案件にも対応できる拡張性を重視して設計しました。
特に「入力のしやすさ」「見積書としての体裁」「説明可能な設計」
を意識しています。

主な機能

  • 見積基本情報の入力
    (案件番号、見積名、顧客名、敬称、作成日)
  • 見積項目の追加・削除
    (作業内容/単価/数量/小計の自動計算)
  • 小計・税額・合計金額の自動算出
  • 税率の可変設定(国内外を想定)
  • 日本語/英語の表示切替(多言語対応)
  • データのローカルストレージ保存
    → ページ更新後も内容を復元
  • 印刷・PDF 出力を想定したレイアウト設計

設計上の工夫・こだわり

■ 実務を意識した UI / UX

  • 顧客名と敬称は入力しやすさを考慮して独立配置
  • 見積明細が主役になる印刷レイアウト
  • 案件整理を想定した案件番号の導入

■ 多言語・海外対応を見据えた構成

  • 日本語/英語の切替に対応
  • 国内外クライアントを想定した税率設計
  • 文言は i18n 辞書管理とし、拡張しやすい構造に

■ フロントエンド単体でも破綻しない設計

  • バックエンド非使用(課題要件準拠)
  • localStorage による状態管理
  • 後方互換性を意識したデータ保存設計

セキュリティ面での配慮

バックエンドを持たない構成ですが、
XSS 対策としてユーザー入力は innerHTML を使用せず、
textContent を用いて描画する設計としています。

フロントエンド単体でも、
最低限のセキュリティ意識を持った実装を行いました。

使用技術

  • HTML
  • CSS(レスポンシブ対応)
  • JavaScript(Vanilla JS)
  • Web Storage API(localStorage)

補足

本アプリはあくまでプロトタイプですが、
実際の業務で使われることを前提に、

  • UI の細かな改善
  • 印刷帳票としての体裁
  • 国・言語差分への配慮

を段階的に反映して完成させました。

制作時間:4.5時間
使用ツール:Gemini