Code Monkey home page Code Monkey logo

plantuml-server's Introduction

PlantUML-Server

🌱概要

UML図を作成する練習ができるサービス

🏠URL

https://plantuml-server.aki158-website.blog

✨デモ

問題集から問題を選択する

output

問題を解いてダウンロードする

output

📝説明

このサービスは、ソフトウェアエンジニアの学習をサポートするために作成したサービスです。

ソフトウェアエンジニアは、ソフトウェア製品を作成する場合、プログラミングをする前に設計という工程を実施します。

設計では、UML図(シーケンス図やクラス図など)という視覚的にソフトウェア製品の構造がわかる資料を作成することがあります。

このサービスでは、UML図に関するいくつかの問題を提供し、ユーザーが1からUML図を作成できるようになる手助けをすることができます。

PlantUMLのサイトでUML図の作成方法を学んだ後にアウトプットとして練習問題を解きたい場合に、役に立ちます。

基本的な機能として、問題集と問題の表示/UML図の作成/作成したUML図のダウンロードができます。

UML図の作成時には、わからなくなった時のためのチートシートとして、Answer UML と Answer Codeを用意しています。

作成したUML図は、下記ファイル形式のいづれかから選択してダウンロードすることができます。

  • png
  • svg
  • txt(ASCII)

補足

説明で登場する用語について補足します。

用語の意味がわからない時は、下記表を確認してください。

用語 意味
UML図 ソフトウェア開発の過程でシステムの設計や構造を視覚化するために使用される標準的なモデリング言語です。
ソフトウェア開発 ユーザーが求めているソフトウェア製品を作成するための一連の工程です。
エディタ テキストやコードなどを作成、編集、表示するためのソフトウェアのことです。
このサービスでは、問題ページの左側にある「' ここから記述してください」と記載してある入力欄のことです。

🚀使用方法

  1. URLにアクセスする
  2. 問題集の中から練習したい問題を選びクリックする
  3. エディタにコードを入力して、UML図を作成する
  4. Answer UML と Answer Code を見て答え合わせする
  5. 画像として出力したい場合は、ダウンロードする

🙋使用例

一通りの手順のイメージはデモを参考にしてください。

  1. URLにアクセスする
  2. 問題集の中から練習したい問題を選びクリックする。
    今回は、シーケンス図を練習したいので、「ID:3 矢印の見た目を変える」をクリックします。
  3. エディタにコードを入力して、UML図を作成する。
    初めて解くので、Answer Code を見ながら進めます。
    UML図の作成に慣れてきたら、Answer UMLのみを見て解いてみましょう!
  4. Answer UML と Answer Code を見て答え合わせする
  5. 画像として出力したいので、3つのファイル形式から「png」を選びクリックする

💾使用技術

カテゴリ 技術スタック
フロントエンド HTML
CSS
JavaScript
フレームワーク : Bootstrap
ライブラリ(コードエディタ) : Monaco Editor
バックエンド PHP
インフラ Amazon EC2
Nginx
Ubuntu
VirtualBox
その他 Git
Github
SSL/TLS証明書取得、更新、暗号化 : Certbot

👀機能一覧

問題集ページ

image

機能 内容
問題集の表示 1ページにつき5問を表示させています。
問題の情報として、ID/Title/Themeを表示させています。
問題ページへの遷移 問題集から練習したい問題をクリックすると、IDの問題ページに遷移します。
Pageボタン クリックしたページへ切り替えができます。

問題ページ

image

機能 内容
問題の表示 問題集ページでクリックされた問題の情報をもとに問題が表示されます。
エディタ PlantUMLの構文を記述することができます。
Download 作成したUML図は、下記ファイル形式のいづれかから選択してダウンロードすることができます。
Previewが「No image.」の時にクリックした場合は、ダウンロードできません。
また、注記「※Preview が No image. の場合は、出力できません!」が赤で強調されます。
・png
・svg
・txt(ASCII)
Preview エディタのコードが変更されると、リアルタイムでUML図に変換して表示されます。
UML図に変換できない間は、「No image.」と表示されます。
Answer UML 答えのUML図が表示されます。
Answer Code ボタンと切り替えることができます。
Answer Code 答えのコードが表示されます。
Answer UML ボタンと切り替えることができます。
戻る 問題集のページへ遷移します。

📜作成の経緯

⭐️後で記載する!!!

作成した理由を記載する。

⭐️こだわった点

⭐️後で記載する!!!


【使えるかもしれない素材】

動的ウェブアプリケーションの開発および本番環境へのリリースを理解するためのプロジェクトです。

このプロジェクトでは、下記のような実装を可能にする技術への理解が必要になります。

  • UML問題集
    • JSONファイルを読み込み動的にPageボタンとTableを作成し表示させる
    • Pageボタンをクリックすることで動的にTableの表示を切り替える
    • TableをクリックすることでIDのPageへ遷移させる
  • UML問題
    • JSONファイルを読み込んだデータを元にUML問題のPageを動的に作成する
    • Previewに表示された画像をファイル形式を選択してDownloadさせる

また、誰でもウェブを通じてアクセスできるようにウェブアプリケーションとして本番環境にリリースさせる必要があります。


テキストや参考にした記事などを再度読み返して技術の理解を深めてから書く。

ここがエンジニアに一番読んでもらいたい箇所なのでできるだけ詳細に書く。

📮今後の実装したいもの

  • ログイン機能
  • ログインしたユーザーが解いた問題がわかるようにする
  • 問題が正解したかテストできるようにする
  • 練習できる問題の追加

📑参考文献

公式ドキュメント

参考にしたサイト

plantuml-server's People

Contributors

aki158 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.