Giter VIP home page Giter VIP logo

stepippo-ios's People

Contributors

eyener3 avatar koki-nakamura avatar minmin0530 avatar naipaka avatar nextinnovation-koki avatar sab-swiftlin avatar yamatatsu10969 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

stepippo-ios's Issues

アプリのアイコンを作成する、または依頼する

機能の必要性

アプリをリリースするにあたって必須

実装の期待値

正方形のアプリアイコンを作成できる

検討した実装案

  1. メンバーのうち誰かが作成
  2. SNSで募集して作成
  3. 有料で依頼して作成

その他の情報

正方形のアイコン

参考URL・画像・スクリーンショット

関連するURLやスクリーンショット、その他画像などがあればこちらに追加してください

進捗画面のライブラリ選定

必要性

インジーケーターとチェックボタンにライブラリを使うため。

期待値

ライブラリを選定することにより、必要な機能を実現する。

タスク内容

  • 参考記事の洗い出し (良さげな記事を載せる)
  • インジケーターのライブラリを決める
  • チェックボタンのライブラリを決める

その他の情報

参考記事はインジケーター・チェックボタンに関係ないものも多少含まれる。

参考URL・画像など

[App Store Connect] v1.0.0のリリース申請を行う

タスクの必要性

App Storeにアプリを公開するため

タスクの期待値

アップデートの手順を踏んで、アプリのリリースを申請できる

タスクの内容

アップロード

  • ビルドエラーがないことを確認し、アプリの動作確認を行う
  • Product -> Archiveを行う
  • ArchivesでValidate App を実行する
  • ArchivesでDistribute App を実行する

App Store Connect

  • ASCで新しいバージョンを作成する
  • アップデート文を記入する
  • 英語に翻訳して英語ページでもアップデート文を記入する
  • Distribute Appにてアップロードされたビルドを選択し、審査提出する

アップロードとAppStore Connect、どちらからでも手をつけられるが、アップロードしたアプリがApp Store Connect に反映されるまでには数分かかる

初回リリースに必要

  • 公開に必要なスクリーンショットを撮影し、ASCに追加する

その他の情報

参考URL・画像・スクリーンショット

新機能案のリストアップ、気軽にみんなでコメント♪

新機能の案が思いついたら、コメントで気軽に書き残していきましょう!
そして、v1.0.0リリース後、次のアップデートではどの機能を入れようかー?
とここを見て決められたらいいなと思っています👌

  • 残りの挑戦数だけ、アプリアイコンにバッジを表示する機能
  • ウィジェットに挑戦を表示する機能
  • 残り挑戦数を通知する、ローカル通知機能
  • 挑戦の記録として写真や動画投稿ができる
  • 簡単なRPG要素(LevelUp)があると楽しそう
  • シェアできる
  • 同じジャンルの挑戦をしている人たちでグループが作れる
  • iPadへの対応
  • 横持ち(Landscape)への対応
  • ユーザー登録(SNS認証?)
  • 操作のチュートリアル(必要であれば..)
  • スプラッシュ画面(アプリ立ち上げ時の画面)

タスク(挑戦?)のデータ構造を考える

必要性

ユーザーが選択し、実行する「タスク」
データベースに保存することになるが、どんなプロパティ(値)を持つべきか議論して決めていきたい。

プロパティ候補

  • 一意のID
  • 名前
  • 進捗状態(ストック・進行中・達成済み)
  • 作成した日時
  • 開始した日時
  • 達成した日時

参考URL・画像など

[XLPagerTabStrip]Carthageのライブラリ状況を全員合わせる[bootstrap]

必要性

新しくcarthageにてライブラリがインストールされ、masterにマージされた場合、
ライブラリ依存に対応するために、全員ライブラリを手元でビルドする必要がある

(carthageでインストールしたビルド成果物そのものはリポジトリにpushしていないため)

期待値

エラーなくライブラリ使うことができる

タスク内容

  • 最新のmasterブランチで、「ライブラリがないよエラー」が出ることを確認する
  • carthage bootstrap —platform iOS コマンドを実行
  • エラーが消えてビルドできることを確認

その他の情報

参考URL・画像など

test タグ付けの練習

なるほどね!
右にある
Assignees → 誰がやるか 複数人も可能
Labels → タグ付けみたいなもん 複数選択可能
Projects → カテゴリわけ これは複数いけるのか?
Milestone → 作成したら、出てくるんだな。締め切りとかを入れるんだろうな。
なるほど。

[Realm]挑戦を記録、読み込むプロトコルを作成する

必要性

専用のプロトコルを作り、抽象化しておくことで以下のメリットがあります。

  1. import RealmSwift する(依存する)クラスを減らすことができる
  2. 今後、もしDBをRealmから他のサービスに乗り換えたとしても、専用プロトコルだけを書き換えれば良い(専用プロトコルをつくらないと、DBの読み書きを行なっている場所すべてで書き換えが必要

プロトコル案

BrandNewTryWriter: 挑戦をDBに書き込むプロトコル
BrandNewTryReader: 挑戦をDBから読み込むプロトコル

参考URL・画像など

「挑戦」を英語でいうとChallenge? Try?
https://ameblo.jp/eibunpo/entry-11427563971.html
「新しい」の英語の言い方
http://upgradeourenglish.com/speaking/new-expressions/

[開発者全員] ライブラリ管理のためのCarthageをインストールする

必要性

ライブラリのインストール・管理に必要です
※このIssueではXcodeは使用しません。Gitも必要ありません

期待値

  • Homebewについてなんとなく分かる
  • Carthageについてどんなものなのか各自調べてみる
  • CarthageをMacにインストールし、使える環境にする

タスク内容

  • Mac用パッケージマネージャーHomebrew(便利)をインストールする
    https://brew.sh/index_ja
  • brewコマンドで、Carthageをインストールする
    $ brew install carthage

参考URLの②まで終えられることがゴール

参考URL・画像など

https://qiita.com/fuwamaki/items/5e6e9c18e5a0b1d7199e

[その他画面]の1ページ目を作る

実装の期待値

  1. storyboardでVCにTableViewを設置
  2. xibファイルでセルを作り、
  3. 各swiftファイルに実装を書く

その他の情報

画面定義書 #15

参考URL・画像・スクリーンショット

実装前のファイル作成の流れをWikiにまとめる

必要性

  • 初心者にやさしい共同開発として誰もがわかる手順の記載が必要である。

  • メンバー(主にPM)の負担を減らす目的もある。

期待値

  • わからないことはWikiを見れば理解できるようになる。

  • メンバー各自の負担の軽減

  • はじめて開発に挑戦する人の心的ハードルを下げる

--
画像の反映がうまくされないので一時中断。

[その他画面]storyboardとTableViewCell用のxibファイル、およびそれに対応したControllerファイルを作成する

機能の必要性

その他画面の実装の第一歩
コーディングは別Issueで行う。あくまでメインはファイルの追加

実装の期待値

  • Views
    • Misc.storyboard
    • MiscCell.xib
  • Controllers
    • MiscVC.swift
    • MiscCell.swift

上記のファイルを正しいディレクト配下に追加できており、ビルドが通る状態になっている。

検討した実装案

XcodeのNew -> File から追加する

参考URL・画像・スクリーンショット

GitHubの主な機能・用途についてWikiにまとめる

必要性

  • 初心者にやさしい共同開発として誰もがわかる手順の記載が必要である

  • メンバー(主にPM)の負担を減らす目的

期待値

  • GiHubの基本的なことが理解できるになる

  • メンバー各自の負担の軽減

  • はじめて開発に挑戦する人の心的ハードルを下げる

[Xcode] ファイルのフォルダ分けを行う

Xcodeプロジェクトのフォルダ構成を整理する

チーム開発するにあたり、フォルダの構成を整理整頓しておきたい。

★付きは新規作成フォルダ

  • [Stepippo]
    • [Stepippo]
      • [Classes]★
        • [Models]★
        • [Views]★
          • LaunchScreen.storyboard
          • main.storyboard
        • [Controllers]★
          • ViewController.swift
        • AppDelegate.swift
      • [Resources]★
        • Assets.xcassets
        • Info.plist

フォルダの作り方

  1. 作りたい場所で右クリック(または control + クリック)
  2. New Group を選択で新しいフォルダが作られる

💡フォルダに入れたいファイルを選択した状態でNew Group from Selectionを選択すると、選択していたファイルが入ったフォルダを作成することができます。

[Github] URLとTopicsを設定する

  1. EditからこのリポジトリのURLを追加
  2. Manege topicsでこのリポジトリのTopics(タグのようなもの)を追加する
    例: ios, swift

スクリーンショット 2019-03-23 16 29 08

Issue templateを追加する

issueを追加するときに選択可能なテンプレートを設定する。

GitHubリポジトリページのSettings -> Features -> Issues -> Set up template
から追加できます。

これを追加すると、Issue登録時にテンプレートを選べるようになります。
複数追加可能

[その他画面]1日の開始時間を選択できる

機能の必要性

人それぞれ何時から1日を始めたいか違うため

実装の期待値

「1日の開始時間」セルをタップすると開始時刻を選択できる

検討した実装案

  1. didSelectRowメソッドでPickerをポップアップ表示して設定
  2. didSelectRowメソッドで設定画面に進んでそこでPickerを用いて設定

どっちの方がいいだろ。ユーザーからしたら、画面遷移せずその場で設定できた方が良いかな?

その他の情報

設定の記憶には、UserDefaultsを使用

参考URL・画像・スクリーンショット

Swiftコーディング規約を決める

話し合いながら、必要だと思ったものを追加していきましょう〜!
今後の資産にもなるので、ある程度溜まったらWikiページにまとめるのも良さそうです。

コーディングルール

  • インデントはXcode標準(スペース4個)で統一する。(control + i で整形できます)

実装ルール

  • ViewControllerのファイル・クラス名はVCと略す e.g. ExampleVC(.swift)
  • TableViewCell, CollectionViewCellのクラス名は XXXCellとする e.g. ExampleCell(.swift)

[必読] 他所のコーディングスタイル

GitHubのSwift Style Guide 日本語訳版

https://github.com/jarinosuke/swift-style-guide/blob/master/README_JP.md

[その他画面]「開発リポジトリを見る」セルをタップで当リポジトリを表示する

機能の必要性

開発進捗をOpenにしてユーザーがすぐ見れるようにする

実装の期待値

「開発リポジトリを見る」セルをタップでWeb画面を開く

検討した実装案

  1. 当リポジトリTOPページを表示する
  2. TOPページを表示するか、Issueページを表示するか選べる

  1. WKWebView(内部ブラウザ)で表示するか
  2. Safariに飛ばすか

その他の情報

参考URL・画像・スクリーンショット

画面設計書作成の流れをWikiにまとめる

必要性

  • 初心者にやさしい共同開発として誰もがわかる手順の記載が必要である。

  • メンバー(主にPM)の負担を減らす目的もある。

期待値

  • わからないことはWikiを見れば理解できるようになる。

  • メンバー各自の負担の軽減

  • はじめて開発に挑戦する人の心的ハードルを下げる

[Carthage]を使ってRealmライブラリを導入する

必要性

ローカルデータベースにRealmSwiftを使用する

期待値

RealmSwiftをCarthageを使ってStepippoプロジェクトに組み込む。
エラーなくビルドすることができる

タスク内容

  • Carthageをインストールして使えるようにする
  • RealmをCarthageを使って導入する
  • プロジェクトをビルドしてエラーがないことを確認する

その他の情報

Carthage、Realm共に最新版(Latest)を使う。

参考URL・画像など

https://realm.io/docs/swift/latest
https://hirochan-blog5.com/2018/08/25/relam/
http://mtimsno.hatenablog.jp/entry/2017/04/23/150223

達成済みタスク・ストックしたタスク表示画面の必要なファイルをプロジェクトに入れる

機能の必要性

実装する前の必要ファイルのみを入れておくことで、他の人が自分の画面の実装をする時にそのファイルを編集できるようになるため。

実装の期待値

共同編集が可能になる。

検討した実装案

  • Views
    • IPPOList.storyboard
  • VC
    • ListedIPPOVC.swift
    • AchievedIPPOVC.swift
    • StockedIPPOVC.swift

その他の情報

機能の提案に関するその他の情報

参考URL・画像・スクリーンショット

関連するURLやスクリーンショット、その他画像などがあればこちらに追加してください

[その他]やさしい会についての詳細画面を作成する

機能の必要性

やさしい会を知ってもらう
iOSチーム開発者を知ってもらう

実装の期待値

詳細画面に遷移し、やさしい会とiOS開発チームについて詳しく知ることができる画面を用意する

検討した実装案

YasasiiKai.storyboard
YasasiiKaiVC.swift

その他の情報

参考URL・画像・スクリーンショット

[その他画面]アプリから機能リクエスト・不具合の報告ができるようにGitHubのAPIを調べる

そもそも実現可能なのか?

機能の必要性

ユーザーが手軽に機能のリクエストや不具合報告ができると良さそう

実装の期待値

セルをタップすると、画面遷移し、機能の追加リクエスト、または不具合報告を送ることができる

検討した実装案

GitHubの公開APIを使う?

その他の情報

GitHawkというアプリで同機能が使える

参考URL・画像・スクリーンショット

[その他画面]週の開始曜日を選択できるActionSheetを実装する

機能の必要性

人それぞれ何曜日から始めたいかは違うため

実装の期待値

「週の開始曜日」セルをタップすると、ActionSheetが表示されて曜日を選択できる

検討した実装案

didSelectRowメソッドでActionSheetを表示

その他の情報

設定の記憶には、UserDefaultsを使用

参考URL・画像・スクリーンショット

[Xcode]プロジェクト設定を行う

  • Deployment Target (対象のiOSバージョン)
    → 11.0(最新バージョンとその一つ前のバージョンを対象にする)
  • Version(バージョン)
    → 1.0.0(初回リリース)
  • Devices(対象デバイス)
    → iPhone
  • Device Orientation(許可するiPhoneの向き)
    → Portrait(縦持ち)のみ

スクリーンショット 2019-03-31 9 06 47

スクリーンショット 2019-03-31 9 07 36

initial commitを行う

Xcodeでプロジェクトを作成し、GitHubにプッシュする。

アプリ名: Stepippo

開発全体の流れ・タスクをWikiにまとめる

必要性

  • 初心者にやさしい共同開発として誰もがわかる手順の記載が必要である。

  • メンバー(主にPM)の負担を減らす目的もある。

  • はじめに全体像をイメージすることで目指すべきゴールが明白になりやすい

期待値

  • わからないことはWikiを見れば理解できるようになる。

  • メンバー各自の負担の軽減

  • はじめて開発に挑戦する人の心的ハードルを下げる

Swift 5 に対応(必要があれば既存コードの変換も)する

必要性

  • 最新のSwiftを使いたい
  • 早めにやっておいた方が影響ファイルが少なくて楽
  • Swift Conversion という警告⚠️が出てしまっている

期待値

  1. 警告文の「Conversion to Swoft 5 is available」を押して、Convert(変換)する
  2. 変換した後に、警告・エラーが出ていない

その他の情報

参考URL・画像など

TabBarControlloerを追加して最初に表示されるよう設定する

  1. 進捗画面 -> Prog.storyboard
  2. タスク一覧画面 -> ListedIPPO.storyboard
  3. その他画面 -> Misc.storyboard

機能の必要性

TabbarControllerを使うため、各画面と繋ぐ必要がある

実装の期待値

  • TabBarControllerによって、進捗画面が最初に表示される
  • IPPO一覧画面とその他画面もTabBarButtonをタップして表示することができる

検討した実装案

  1. TabBarController.storyboardを追加する
  2. storyboard reference で3storyboardと繋ぐ
  3. 不要なViewControllerを削除する

その他の情報

参考URL・画像・スクリーンショット

ブランチ作成〜マージまでの流れをWikiにまとめる

必要性

  • 初心者にやさしい共同開発として誰もがわかる手順の記載が必要である。

  • メンバー(主にPM)の負担を減らす目的もある。

期待値

  • わからないことはWikiを見れば理解できるようになる。

  • メンバー各自の負担の軽減

  • はじめて開発に挑戦する人の心的ハードルを下げる

[その他画面]月の開始日を選択できる

機能の必要性

人それぞれ何日を一月の開始日にしたいかは違うため

実装の期待値

「月の開始時日」セルをタップすると日付を選択できる

検討した実装案

  1. didSelectRowメソッドでカレンダー的なUIをポップアップ表示して設定
  2. didSelectRowメソッドで設定画面に進んでそこでカレンダー的なUIを用いて設定

どっちの方がいいだろ。ユーザーからしたら、画面遷移せずその場で設定できた方が良いかな?

例えば31日を選択したけど、30日しかない月の場合は、自動で30日にする?
それとも1日にする?
それをユーザーに選んでもらう?

その他の情報

設定の記憶には、UserDefaultsを使用

参考URL・画像・スクリーンショット

ページ切り替え用ライブラリの選定

必要性

マネーフォワードなどのスワイプしてVC内ページを切り替えるライブラリは何種類も存在する
どのライブラリが使いやすいか、優れているかをザッと比較して、すてぴっぽで使うライブラリを決定する

期待値

該当ライブラリを列挙し、優劣を挙げて比較する

タスク内容

  • 該当ライブラリを列挙する
  • それぞれの利点・デメリットをまとめる
  • 比較して、採用するライブラリを決定する

その他の情報

ライブラリ管理にはできればCarthage、次点でCocoaPodsを使いたいと考えています。

参考URL・画像など

Carthageを使い、XLPagerTabStripを導入する

必要性

画面内ページ切り替えにXLPagerTabStripを使用する

期待値

XLPagerTabStripをCarthageを使ってStepippoプロジェクトに組み込む。
エラーなくビルドすることができる

タスク内容

  • Carthageをインストールして使えるようにする(#35)
  • Carthageを使い、ライブラリをプロジェクトにインストールする
  • プロジェクトをビルドしてエラーがないことを確認する

その他の情報

Carthage、ライブラリは最新版(Latest)を使う。

参考URL・画像など

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.