はじめに
Djangoで(詳しくはDjango REST Frameworkで)でAPIを作成しました。
私はポイ活が好きなこともあり、クレジットカードの基本情報を調べるのが好きです。
作成したソースコードです
作成した理由
クレジットカード選びは、多くの人にとって難しい選択の一つです。
還元率や年会費、特典など、考慮すべき要素は多いです。
そこで、これらの情報を一元的に提供するAPIがあれば便利だと考え、今回のAPIを開発しました。
プロトタイピングなので荒く作成しています。
技術スタック
Python 3.11.5
Django 4.2.5
Django REST framework 3.14.0
SQLite 3.37.0
Sentry 1.30.0
drf-yasg 1.21.7
pip 23.2.1
主な機能
- カードの特性情報取得: カードの名前、ポイント還元率、年会費などの基本情報を取得できます。
- カードのカテゴリやタイプ: カードのカテゴリ(例:ゴールド、プラチナなど)による絞り込みが可能です。
- 利用者のレビューや評価: 実際の利用者のレビューや評価を参照できます。
- カードの比較機能: 2つ以上のカードを選んで、その特性を比較することができます。
他には、セキュリティやパフォーマンスの面でも多くの機能を取り入れています。CORS対応、セキュリティヘッダの設定、キャッシング、レートリミティングなど、APIとしての基本的な要件をしっかりと満たしています。
セキュリティ
- CORS対応
- セキュリティヘッダーの設定
iframeで表示不可 - データベース
パスワードのハッシュ化
SQLインジェクション対策
管理・モニタリング
Sentryを採用しました。
モニタリングツールのSentryに関しては別記事に書いています
あとがき
様々なクレジットカードの情報を返すAPIを調べてみましたが、自分調べでは無く。
最後の頼みの価格コムのAPIでは商品情報などを返す機能はありましたが、さすがにクレジットカード情報はありませんでした。
クレジットカードのまとめ情報としては、(アフィリエイト)ブログでまとめで紹介している媒体しかなかったです。
今はPythonやGo言語を主戦場としているため、これらの言語で何か作ろうかなと思い立ち、考えた結果、自分の好きなクレカ領域で作成してみました。
自分の好きな領域だと開発がスイスイ進みました。
例えばクレジットカードだと、新興のバンドルカードのカンムさんやUPSIDERさん、大きいところですと楽天カードやPayPayカードなどあります。
ちなみに、自分の好きな領域は他にもあります。。。笑
農業、地域活性化、GIS、データ分析、、、etc
やはりエンジニアは好きな領域で開発するのは良いのでは無いかと思いました。
あと、読者の方で採用の方やBPを探している方がいらっしゃいましたら中途、SESに関してX(旧Twitter)の方でDMお願いします