Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
自家製家計簿システム作って家庭内で運用してるはなし / homemade-household-...
Search
kxn4t
November 30, 2018
Programming
1.1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自家製家計簿システム作って家庭内で運用してるはなし / homemade-household-account-book-system
社内LT大会での発表資料です。
kxn4t
November 30, 2018
Other Decks in Programming
See All in Programming
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
360
AI 輔助遺留系統現代化的經驗分享
jame2408
1
760
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
140
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
Contextとはなにか
chiroruxx
1
330
コンテキストの使い捨てをやめる — ビジネスルール駆動開発と miko —
ioki
0
210
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
170
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
660
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
11
5.8k
Creating Composable Callables in Contemporary C++
rollbear
0
150
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
590
Featured
See All Featured
Code Review Best Practice
trishagee
74
20k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.3k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
71
40k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Become a Pro
speakerdeck
PRO
31
6k
Discover your Explorer Soul
emna__ayadi
2
1.1k
GitHub's CSS Performance
jonrohan
1033
470k
Tell your own story through comics
letsgokoyo
1
960
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
210
Transcript
自家製家計簿システム作って 家庭内で運用してるはなし 廣瀬翔遥 2018.11.30 @stylez社内LT
自己紹介 廣瀬翔遥(ひろせかなた) • もともとの専門は機械設計 • 新卒で入ったメーカーは田舎が嫌で辞めた • 都会に住むならITでしょ!と 適当にIT業界飛び込んで早3年2ヶ月 •
今期はけっこうアニメみてる • RELEASE THE SPYCE • ベルセブブ嬢のお気に召すまま • ひもてはうす • となりの吸血鬼さん • アニマエール! • うちのメイドがうざすぎる • 俺が好きなのは妹だけど妹じゃない • おこしやす、ちとせちゃん 見たいけど追い切れてない。。。 • 青春ブタ野郎~ • 寄宿学校のジュリエット(原作組 • アイカツフレンズ!(20話くらいまでは見てる • 色づく世界の明日から • SSSS.GRIDMAN • やがて君になる • ゴブリンスレイヤー • 転生したらスライムだった件 • SAO • ゾンビランドサガ 言語:PHP、C#、Java、Javascript 最近はVue.jsとかフロント周りが好き VueFes行ったり勉強会もちょくちょく # そろそろいい加減開発やりたいやりたい
突然ですが、
家計ってどう管理してますか?
弊家では • 共働きなので家計はひとまず折半したい • 2人ともエンジニア • 折半できるアプリないかなと探してみたけどなかった (もしあるなら教えてください。。。
どうしようー
None
ないんだったら自分で作ればいいのよ!
作りました
折半するだけのWebアプリ (弊家ではSaifuとか呼ばれてる)
折半できるWebアプリ • 仕様 • 言語:Java 8 • フレームワーク:Spring Boot 2.0
• 画面:Thymeleaf 3・mini.css • 認証:OAuth 1.0a • データ保存:zaim • 分担 • 自分:認証とか土台まわり • 嫁 :画面、計算まわり
技術選定理由 • なんでzaim? • 家計簿部分まで作るのはなんか違うのであるものを使う • レシート読み取りが便利 • APIが公開されている •
なんでJava + Spring Boot? • Javaやってなさすぎて忘れないように • 開発スピードが出ると思ったから(5、6人日くらいはかかったけど • なんでmini.css? • Bootstrapめんどくさいから別のを使ってみたかった(らしい
どう使っているか
登録 • スマホアプリから各々zaimに使った金額を登録 • アカウントは1つを共有 • 登録時、メモ欄に名前を記入 • どっちが使ったものかここで判断 レシート読み取って登録
認証 • 未認証だとzaimの認証画面にリダイレクト • zaimとはOAuth1.0aで認証 • 認証後、認証済画面へ遷移 • 以降はtokenで署名してzaimと通信 •
tokenはcookieに保持して再認証不要に OAuth1.0a Cookie oauth_token oauth_verifier
計算 • 集計期間を指定して実行 • 集計期間はLocalstrageに保存 • 各々がその期間でいくら使ったか集計 • どちらがどちらに何円払うか表示 •
メモで判断できないものもリストで表示 REST API view JSON response 集計期間 分割キーワード
こんなかんじ
運用 • 今は2~3か月に1回くらいで集計 • 集計するときは今のところローカルPCで実行 • 集計後はslackで共有
まとめ
作ってみて • 折半が楽になった • 勉強になった • OAuth完全に理解した • やっぱり作るのは楽しい
今後の改善 • Slack連携 • スラッシュコマンド叩いたら計算してくれるとか • 計算終わったら通知してくれるとか • サーバでの運用 •
その辺に転がしてるRaspberry Piに乗っけたい
快適に過ごすために他にも色々
ほかにもいろいろ • 予定共有 • Googleカレンダーをお互いに共有 • IFTTT使って、予定が追加されたらお互いのLINEに通知 • 言った言わないがなくなったので神 •
便利すぎてスケジュール帳を使わなくなった • ゴミの日通知 • 2週間に1回の燃えないゴミの日忘れがち • ファイル共有サーバ(NAS) • 取り込んだ音楽とか共有便利
自分たちの生活は 自分たちでよりよくしていく
ありがとうございました
- OAuth1.0の話 https://qiita.com/kxn4t/items/9f0f920e41e47bb2aaf4 - GitHub(認証部分だけ https://github.com/kxn4t/saifu