はじめに
新年の書き初めにしようと考えていた個人開発で、とにかく速く作ることを意識しました。
制作日数は1日で、DAPI: Digimon APIを使った、毎朝の占い番組・アプリ?のような用途を想定しています。……クソアプリと言わないで
作ったもの
見ていただいた通りなのですが『あなたがナニモンかチェック』ボタンを押下すると適当なデジモンが表示されます。
当初は占いというテーマを意識していたので一日一回しかデジモンを表示できないようにしようかと思ったのですが、その日がスカモンだったり、ヌメモンだったりした人の気持ちを考えて何度もチェックできるようにしました。
スカモンやヌメモンが好きな方がいらしたら申し訳ございません
こだわったことと言えば制作スピードくらいなのですが、他のこだわりもいくつか挙げていきたいと思います。
ここら辺にこだわった
- デジモンのランダム表示
これは占いというテーマから外せない必要要件でした。DAPI: Digimon APIにはデジモンデータの総数を取得できるところが用意されていたので、それを用いてランダム表示する仕組みにしました。
:
const randNum: number = Math.floor(Math.random() * data.pageable.totalElements); // 総数をベースにランダム数値を生成
setRandNum((_prevRandNum) => randNum); // ランダム数値をState管理
const singleDigimonData: Response = await fetch(`https://digi-api.com/api/v1/digimon/${randNum}`); // ランダム数値をエンドポイントに指定
:
先ほども触れましたが一日一度ではなく、何度でもその日の自分が『ナニモン』かチェックできます。
- 将来性(進化後)と経歴(進化前)の表示
APIを見てみると、当該デジモンの進化後・進化前のデータも取得できることが分かったので、これも何かに使えないかと考えて追加したのが当機能です。
「たとえ今日がヌメモンでも、メタルグレイモンになれる可能性があるんだ」って考えると毎朝晴れやかな気持ちで一日を始められそうですよね?
まぁご覧の通り、スカモンルートもあるのですが……。
一方で、自身の振り返りもできるように今までのキャリア(進化前)も確認できるようにしてあります。
「あの頃この程度だった自分も今ではここまでできるって成長したなぁ~」と自分をたまには褒めてあげてください。
他人と自分を比べるのではなく、昨日までの自分と比べて日々精進に努めたいものです。
ちなみに、進化後または進化前のデータがないデジモンの場合は将来性無しや経歴不明となります。
いわゆるカンスト?状態になっても将来性なしになります。
そのような方々は、ここまで究められて素晴らしいという他ないですが驕り高ぶることなく謙虚と思いやりを忘れないようにしていただきたいものです。「その界隈では有名だがその界隈が狭すぎて世間には通じない」という心構えを持っていたいですね。
- なりたいデジモンになれる
「どうしてもオメガモン(omgemon)になりたい!」
「今日は大事な商談がある日だからウォーグレイモン(war greymon)の気分だ!」
「デュークモン(dukemon)みたいに気品をまといたい」
というニッチな方々のニーズにお答えすべくフォームを用意しました。
しかし、デジモン名は英語名で入力していただく必要があります。かたじけなし。
さいごに
ここまで読んでいただき、ありがとうございました。
GitHubを貼っておきますので気になった方は自由にご利用ください。
参照情報