<!-- 担当: 阪口 -->
# <span style="text-transform: none;">Onsche (オンスケ)</span>
#### <span style="text-transform: none;">TeamC</span>
#### 平野大地 小川聡太 阪口丈瑠
#### 佐藤響 宇佐見大希 Sangjun Han
---
<!-- 担当: 阪口 -->
## 私たちのアプリ

オンスケ - Onsche
> # "いつか"を、"いつ"に変える。
<!--
やらなきゃいけないことがあるけど、取り掛かれない
やることリストはあるのに、行動に移すスケジュール化が難しい
Onscheの解決策
やるべきことと予想所要時間、締め切りを入力
アプリが自動で、達成に向けたスケジュールを分割・配置
「今日はこれをやればOK」という状態にして、取りかかるハードルを下げる
よさそう
-HANの意見-
'目標'ってちょっと曖昧かなと思いました
ユーザーの入力:タスクのタイトル、予想所要時間、(+締切?)
アプリの出力:タスクを行う最適なタイミングを提示
-->
---
## 背景

---
<!-- 担当: 阪口 -->
## コンセプト

---

---

---

---
## デモとアプリイメージ :iphone:
Androidビルドがあるので実演をします
---
## 設計と発展 :pencil:
```plantuml
package Domain {
class Object
enum ObjectType
Object *- ObjectType
}
package AppCore {
interface IContext
interface IObjectRepository
interface IService
class FeatureService
IObjectRepository .u.> Object
IObjectRepository -* IContext
IContext *- IService
IService <|- FeatureService
}
package Infrastructure {
class LiteDBManager
class DObject
static class ObjectDao {
DObject FromDomain(Object);
Object ToDomain(DObject);
}
class ObjectRepository
class Context
ObjectDao <. ObjectRepository
LiteDBManager -u-* ObjectRepository
DObject <. LiteDBManager
LiteDBManager -u-* Context
DObject <.u. ObjectDao
ObjectDao .u.> Object
ObjectRepository -u-|> IObjectRepository
Context -u-|> IContext
}
package Presentation/View {
class InAppContext
class FeatureScene
InAppContext *-u- IContext
FeatureScene -u-> FeatureService
}
package Runner {
class AppRunner
AppRunner .u.> Context
AppRunner .u.> InAppContext
}
package Test {
class MockObjectData
class TestContext
class TestFeatureService
MockObjectData -* TestContext
TestContext .u..> Context
TestContext <- TestFeatureService
}
package UnityEngine {
class MonoBehaviour
class TestRunner
MonoBehaviour <|-u--- FeatureScene
MonoBehaviour <|-u-- AppRunner
TestRunner .u.> TestFeatureService
}
```
---
<!-- 担当: 平野 -->
## 使用技術 :books:
| Technology | Detail |
| -------- | -------- |
| Unity(C#) | アプリ制作フレームワーク<br> テスト実行 |
| LiteDB | ローカルデータベース |
Library:
ReactiveExtensions: R3,
async/await integration: UniTask
secure storage: keystore/keychain
---
## 今後の展望 :sunrise_over_mountains:
- 具体的実装の継続 :construction:
- 全員が同じように動くための実装チュートリアル(32p)を作成した。
- CI/CDの導入に挑戦 :sparkles:
- テスト環境が整っている => 実行の自動化
- ビルドに成功している => ビルドの自動化
- 外部からのカレンダー自動入力 :mailbox_with_mail:
- GoogleCalendarからのインポート
{"title":"中間発表スライド","slideOptions":"{\"theme\":\"white\"}","description":"平野大地 小川聡太","contributors":"[{\"id\":\"2a09956d-220f-481c-a2d6-9a7348ec3e95\",\"add\":2806,\"del\":497,\"latestUpdatedAt\":null},{\"id\":\"b7c7281a-a4f1-4d4e-82af-3e6a483297b8\",\"add\":392,\"del\":9},{\"id\":\"7d5c2a9f-4bbf-41a5-8e89-72c3111c2f73\",\"add\":421,\"del\":89,\"latestUpdatedAt\":null},{\"id\":\"9e7d2f7d-d999-48b7-a588-309f2636fc33\",\"add\":369,\"del\":663},{\"id\":\"57ce8826-b08c-4886-a00c-9929cebaaeea\",\"add\":290,\"del\":41},{\"id\":\"fa4e0f4c-9225-4aca-a235-ca279fa9204c\",\"add\":155,\"del\":19}]"}