【依頼内容】
プリント基板の設計をWEBブラウザ上で簡単に行うアプリを開発していただきたいです。
イメージとしては簡易的なドロー系ソフトのようなものです。
プリント基板の知識はなくても問題ありません。
なお、当方はプログラミングに関しては素人(独学である程度は書ける程度)です。
仕様書については、以下に記載のレベルでしか書けませんので、細かい部分は打ち合わせをしながら進めさせていただきたいと思います。
【開発内容】
<開発言語など>
JavaScript + Canvas要素
PC/タブレットやブラウザの種類によらず、できるだけどんな環境でも問題なく利用できるようなプログラムとしていただきたいです。
(できるだけ汎用的・基礎的な命令だけで構成していただきたいです)
<ファイル操作機能>
・新規作成(キャンバスを初期化)
・データ保存(線座標、丸、四角の位置座標、それぞれのサイズ、レイヤー情報を出力し、サーバー上にテキストファイルとして保存)
・ロード(サーバー上のファイルを読み込んで表示する)
<キャンバス>
・キャンバスにはグリッドの小さい点を表示し、上下左右の4辺に目盛りを表示
・グリッドのサイズを変更できるようにする
・グリッドの原点を変更できるようにする
・拡大表示・縮小表示できるようにする(拡大時は画面をスクロールできるようにする)
<編集(作図)機能>
基本的に編集はグリッド上に行う。
マウスでクリックして描画位置を決めるが、クリックされた位置に一番近いグリッド上を描画位置とする。
・直線描画機能(始点と終点をマウスでクリックし直線を表示)
線の太さを選択できるようにする
線の先端は半円状に丸くする(始点・終点からそれぞれ半径分だけはみ出すようにする)
・丸描画機能(マウスでクリックした位置に丸(円)を配置する)
円の中心はグリッド上とする
円のサイズを選択できるようにする
・四角形描画機能(マウスでクリックした位置に四角形を配置する)
四角形の重心はグリッド上とする
四角形のサイズ(縦・横)を選択できるようにする
・文字描画機能(テキストではなく、アウトライン化する必要があるので、実現方法については要相談)
・削除機能1(マウスでクリックした直線・丸、四角を削除する)
・削除機能2(マウスでドラッグした範囲内にある直線・丸、四角を削除する)
・元に戻す(戻せる回数は要相談)
・元に戻すの取り消し
・コピー・貼り付け(簡単に実装できる場合のみ)
<レイヤー>
レイヤーごとに編集(作図)できるようにする。
・レイヤー数:20
・レイヤーごとに表示/非表示を選択し、表示しているレイヤーから編集するレイヤーを選択
・基本的に1レイヤーずつ編集するが、丸描画、四角形描画については複数のレイヤーをまとめて描画できるようにする
<測定機能>
・距離測定
マウスで選択した2つのパーツ(例:丸と線)の最短距離を表示
中心同士の距離ではなく、線幅や丸の直径を加味した最短距離
【 重視する点・開発経験 】
・Javascript, HTMLなど、WEBアプリ開発のご経験
【 応募時のお願い 】
過去の実績、ポートフォリオを簡易的にご提示ください。