This page is intended for users in Singapore. Go to the page for users in United States.

食べたリンゴを集計するアプリをアップデートした話

こんにちは、かみじょうです。

過去記事を見ていただくと分かりますが、弊社では自分用アプリを作っている人が多いです。自分もその中のひとりで、「食べたリンゴを集計する」アプリを作成しています。

https://ringo-tabetter.herokuapp.com/hc/total


今回は、このアプリをアップデートした話を書きます。


そもそもこのアプリですが、

[ある年] 産直所でリンゴを買う ---> おいしい!!! ---> 来年もほしい!!!
[翌年] いつ頃食べたのか思い出せない...

を解消するために作成しました。

リンゴは季節モノなので、早いものはお盆明けから並びます。ただ、品種によっては、あっという間に姿を消してしまいます。

そのため、買える時期を記録し、あとで見返せるようにしました。


ただ、このアプリはDjangoをさわり始めた時に作ったモノなため、

・Python 3.4系 & Django 1.8系

・テストコードなし

など、寿命が過ぎているのにメンテナンスしづらいという、つらい状態でした。

さらに、時間の経過とともにパフォーマンスも悪化し、ついには使いづらいアプリになってしまいました。


そこで、リンゴのおいしいシーズンが終わったのを見計らって、このアプリをメンテナンスしました。

メンテナンス内容は以下で、仕事でよくあるようなものです。

・開発環境のDBをDocker化

・テストコードを作成

・基盤を最新版 (Python 3.7.2 & Django 2.1.5) へアップデート
    ・合わせて、各種ライブラリも最新化

・Djangoっぽいアプリケーション構成へと修正

・jQuery + getJsonでの非同期データ取得を、Fetch API + async/await へと修正

・パフォーマンスの改善


メンテナンス後は、開発・閲覧の両方が快適になりました。使いづらいまま放置するのではなく、「常に運用・メンテナンスしやすくしておく」ということの大切さを、改めて感じました。

また、機能追加をしやすくなったので、今後は実験的な機能を追加したいと思えるようにもなりました。


なお、何をしたのか詳しく知りたい方は、以下を参照ください。また、誤りや「こうした方がいい」などありましたら、ご指摘いただけるとありがたいです。

Python3.4 & Django1.8な個人アプリを、Python3.7 & Django 2.1 へとアップデートした - メモ的な思考的な


半年後から始まるリンゴシーズンが楽しみです。

株式会社日本システム技研's job postings
2 Likes
2 Likes

Weekly ranking

Show other rankings
If this story triggered your interest, go ahead and visit them to learn more