Code Monkey home page Code Monkey logo

todaystodo's Introduction

Hi there 👋

  • 📱I'm Mobile App Developer.

todaystodo's People

Contributors

deltama37 avatar naipaka avatar

Stargazers

 avatar

todaystodo's Issues

アプリを開いたときの処理の実装

要件

アプリを開いたらアプリのアイコンが表示されてからToDo画面に遷移するようにしたい。

タスク

  • オレンジ背景白チェックボックスのアイコンを表示する

タスクの削除機能の実装

要件

タスクをinbox画面から削除する機能の実装。

タスク

  • UITableViewのセルをスワイプで削除する処理を実装
  • データベースからレコードごと削除する処理を実装
  • データベース内の設定日時がnilのレコードだけをTableviewに表示する処理を実装

参考になりそうなサイト

UITableViewのセルをスワイプで削除する

タスクを追加するための送信フォームの改修

要件

送信フォームの挙動は、現状だとキーボードが表示され切った後に出現されキーボードが隠れ切った後に隠れるようになっており、動きがスムーズでない。
そこで送信フォームの出現・退出の動きに対してアニメーションを加えることで、違和感のない挙動にする。

タスク

  • キーボードの出現・退出のアニメーション移動時間に合わせて送信フォームも移動するように実装。

1日のタスク数の上限開放機能追加

要件

基本1日に設定できるタスク数は3件までだが、ある条件をクリアすると上限が解放される機能を実装する。

タスク

  • タスクが3つ終わった日数をカウントする処理追加
  • ある一定のカウント数に達したらタスク数の上限が開放される処理を加える

アニメーション処理の追加

要件

本日のタスクが全て終了した際におめでとうの気持ちを送るアニメーションを追加する。

タスク

  • タスクが3つ終わったときにおめでとうっぽいぎふ画像を表示する処理の実装(ドット絵でクラッカーなってる感じ出すとか)

ボタンの位置を移動可能にする機能の実装

要件

ボタンを好きな場所におけるようにする。

タスク

  • 追加ボタンを長押しすると追加ボタンの移動が可能になる処理の実装
  • 追加ボタンの位置を覚えておく処理の実装

Inboxに入れっぱなしを防止する機能の実装

要件

タスクを追加した時から3日たっても日付を設定していないタスクがあれば通知を送る機能を追加する。

タスク

  • 追加日時をDBのレコードに追加する機能の実装
  • DBの中で一番古い追加日時と現在の日時を比較し、3日分差があった場合プッシュ通知を送る機能の追加

本日のタスク数を表すバッチを表示する機能の実装

要件

本日のタスクの数をデータベースから取得し、アプリのバッチに数を表示する機能の実装

タスク

  • データベースから本日の日付となっているレコードの数を取得する。
  • バッチに表示する処理を実装する。

同日に3つタスクが登録されている日に新たにタスクを設定しようとすると出現するポップアップのボタン追加

要件

同日に3つタスクが登録されている日に新たにタスクを設定しようとすると出現するポップアップに「Calendarへ」ボタンを追加する。このボタンを押すとCalendar画面に遷移し、設定しようとした日付にフォーカスがあたり、何がその日に登録されているのかがわかるようにする。

タスク

  • ポップアップにボタンを追加
  • 「Calendar」ボタンを押すとCalendar画面に遷移する
  • 設定しようとしている日付を取得し、それを元にCalendar内の該当の日付にフォーカスを当てる

タスクの追加機能の実装

要件

inbox画面におけるタスクの追加機能を実装する。
ボタンを押すとテキストボックスが追加されるようにする。

タスク

  • ボタンのUIコンポーネントを追加する。
  • Tableviewを追加する。
  • ボタン押下時、キーボードとツールバー(テキストボックスと追加ボタン)が出現する処理を実装する。
  • ツールバーの送信ボタンを押すと入力したテキストがTableviewの未入力セルに追加される処理を実装する。
  • Tableviewのセルをイメージ図のようにカスタマイズする。
  • データベースにレコードを追加する処理を実装(追加項目:タスク名、設定日時、更新日時)
  • データベース内の設定日時がnilのレコードだけをTableviewに表示する処理を実装
  • テーブルがスクロールを保つようにする

イメージ図

2019-01-21 22 28 05

参考になりそうなサイト

カスタムセル
カスタムセル2
キーボードの上に送信フォームを実装する方法
UIButtonをスクロールせず固定して表示する方法
ToDoアプリを作る

タスクの予定開始日時の設定機能の実装

要件

タスクの予定開始日時を設定し、Inbox画面で非表示にする機能を実装する。

タスク

  • Tableviewのセルにプルダウン式の日付選択機能を実装
  • Tableviewのセルに設定ボタンを実装
  • 設定ボタンを押すとデータベース上の対象のレコードの項目startDateに開始日時を設定する処理を実装
  • 「設定」ボタン押下時、選択されている日付が設定されているレコードの数をDBから取得し、レコード数 > 3 のときポップアップを出して設定させない機能を実装

タスクの編集機能の実装

要件

追加したタスクのテキストを編集する機能を実装する。

タスク

  • Tableviewの任意のセルをタップするとキーボードとツールバーが出現する処理を実装
  • ツールバーでテキストを編集したのち設定ボタンを押下すると対象のデータベースのレコードの項目タスク名が変更される処理を実装する

Calendar画面からInbox画面へのタスクの移動機能の実装

要件

Calendar画面に設定されたタスクをもう一度別の日に設定し直したい場合、削除したい場合にInbox画面に戻す機能の実装

タスク

  • タスク一覧に出ているタスクをスワイプすると「Inboxへ」というボタン?が出現する処理を実装
  • 「Inboxへ」ボタンをタップするとデータベース上で設定した日時がdeleteされ、setフラグがfalseになる処理を実装する。

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.