# 生活情報系サービスの開発
## フロントエンドの実装を担当
DOM操作による要素の追加、削除、スタイル適用、動きの追加の実装をおこないました。
サーバ側からデータを取得して必要なデータを加工して表示させるようにしました。
具体的には、ユーザが何らかの操作をした場合にAjaxで、2度目にボタンを押せなくするなどの対応を実施しました。
## CodeIgniter, Javascriptでアプリの新規機能のフロントエンド部分を担当
画像縮小APIのpica.js、cropper.jsを利用した機能開発を行いました。
スマホメインのサービスになるので、スマホユーザが使いやすいよう、拡大縮小の操作感等の調整を行いました。具体的には、つまみを左右させて拡大縮小させるより、ピンチイン、ピンチアウトの操作で実施できるようにしました。
## ユーザがマウスホバーを実施したタイミングで非同期通信を行う対応を実施
あらかじめ大量のデータを通信するとサーバに負担がかかるため、非同期でユーザのホバー時にデータを取得するようにしました。
しかし、マウスホバーではユーザが素早くマウスを移動させると大量の非同期処理が発生してしまうため、
マウスが1秒ほど停止した時に非同期でデータを取得して、表示するようにしました。
タイムスタンプなど、PHPファイルにサーバ側から受け取ったデータを変数に仕込み、js側で加工して表示した。結果、サービスの使いやすさが向上しました。
## jQuery、PHPでのグラフ表示部分の改修
SVGでグラフを描画する部分のプロットがサーバ側から渡されるデータによって表示可能な範囲をはみ出して表示されてしまうバグがあり、サーバ側から渡される数値を加工して計算式部分を改修しました。
サーバ側から渡される最大と最小の値の範囲と、表示可能な最大と最小の範囲の比率を同じにしてはみ出さないように、PHP、jQueryで修正した。これによりどんな値が渡されてもグラフがはみ出ることなく表示されるようになりました。
# 個人開発
## ショッピングサイト開発
ログイン、ログアウト、ユーザ追加、削除、商品登録、画像登録、商品購入、メール送信機能の開発を行い、共用サーバに公開しました。