Skip to content

daichikuwa0618/YUMEMIwork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

YUMEMIwork

アップデート情報

  • v1.1

    • 入力欄に何も記載がないときにボタンを非活性にする機能を追加
    • Light mode 使用時,ボタンにドロップシャドウを追加
  • v1.2 (趣味でやったことなので評価から外していただいて構いません)

    • 変換の履歴を画面下部に表示する機能を追加
    • 最新の変換履歴と同じ変換を試みる際はボタンが非活性になる機能を追加
  • v1.3

    • API のエラー処理を改善
    • かな/カナを変更した際に変換ボタンが押せない不具合を修正

基本的な機能

  • 入力された日本語テキストを全てひらがな・カタカナに変換する.

スクリーンショット

自分なりに追加した機能

  • 出力の UITextView をタップすることで出力されたテキストをクリップボードにコピーする
  • SegmentedControl を用いたひらがな・カタカナ選択機能
  • 以下の場合に適切なアニメーションを表示する
    • 変換している時
    • コピーした時
    • 変換できなかった・通信に失敗した時
  • Dark Mode への対応
  • 変換履歴を Realm により追加した

UI/UX に関して

  • UXに配慮して,ごちゃごちゃせず必要最低限な機能のみを実装した.
  • シンプルで上から下へと操作が自然に流れる UI を意識した.
  • ポイント色には私のブログ(AstroNOTE!)と同様のグラデーションを採用.
  • Dark Mode, Light Mode 両方に対応.

改善点

  • エラーハンドリング
    • 現状,API通信に関して,結果を取得できたかそうでないかだけを判断しています.そこにエラーレスポンスも判断するようにしてユーザーに対して問題点を教えてあげるようにしたいです.
  • 債務の明確な切り分け
    • 勉強不足で Delegate などの理解が足りていないので債務の切り分けが全くできていないと感じます.
  • テストの不足
    • テストコードの作成方法への理解が足りず,テストを行っていません.

今後追加したい機能

  • 履歴の表示
    • データベースを用いて変換履歴を表示したいと思っています.
    • 今考えているのはハーフモーダルでの表示です.
    • 自分の実力で間に合えば実装したいです.
    • 追記 : v1.2 で追加済み
  • 履歴のお気に入り機能
  • 画像認識を用いた入力
    • カメラで読み取った日本語をひらがな・カタカナに変換する機能を実装したいです.
  • Localization

実装への流れ

私がどういうルートで実装したかを記します.判断材料になれば幸いです.

2/3 (Mon) : 設計とSwiftの勉強

  • 詳細な課題内容を頂いた.
  • Scrapbox で以下のような設計思想をまとめた.
    • 基本機能
    • 自分なりに実装したい機能
    • 評価ポイント
  • 必要な基礎知識の勉強
    • 基本文法
    • APIとは
    • XCode11の使い方
  • Hacking with Swiftのチュートリアルで Swift UI による簡単なアプリを作成
    • ブランチの切り方などがとても雑ですが,一応リポジトリ残してあります.

2/4 (Tue) : Gitリポジトリの作成, チームコーディング・API周りの勉強

  • 本リポジトリを作成し,gitignoreを編集した.
  • 将来チームで実装することを考慮し,Gitブランチモデルの体系化が必要と判断.
    • Gitブランチモデルはこちらで学びました.
  • 設計パターンも知らなかったため,設計パターンをいくつかざっと調べ,今回はMVCで十分と判断.
  • 次に,本アプリのメイン機能に必要なAPIの扱い方を学んだ.
  • API通信用モデルを作成.

2/5 (Wed) : 基本機能の実装, UI設計

  • 入力欄,ボタン,出力欄を実装.
  • Storyboardでは後の編集が大変になるのでは無いかと思いコードレイアウトについて必死に調べた.
    • 結果,実装できず,そのままStoryboardで行くことに…
    • ちなみに,Swift UIを使わなかったのは,後で余裕があればiOS 12以前に対応させたかったため.
  • コピー機能・アニメーションを実装.

2/6 (Thu) : リリースに向けた対応

  • UI の改善.
  • エラー処理の追加.
  • READ ME の編集.

2/8 (Sat) : v1.1 リリース

2/11 (Tue) : v1.2 リリース

2/16 (Sun) : v1.3 リリース

使用ライブラリ (Package Manager)

この1週間で参考にした文献

書き漏れがあるとは存じますが,特に参考にした文献をリストアップします.

このリポジトリを参考になさる方のお役に立てたら幸いです.

全体的なもの

Git

API

コードレイアウト

エラー処理

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published