こんにちわ、くまです。
今日は昨年、コロナによってステイホームしていた間にdjangoを使って一人で作ったwebサイトと、そのwebサイト立ち上げ時に学んだことを紹介していきます。
webアプリやwebサイトを個人開発している初心者に向けた記事になります。
お時間がある方、ちょっとした息抜きをしたい方には、暇つぶしになる記事です。
概要
先に伝えたいこととしては
- 開発期間の短縮のために利用できるAPIはなるべく利用すべし
- 行政関係は無料で使える良いデータが多い
の2点が主です。
これから個人開発で何かしら作る!て方は心に留めておいてもらえると嬉しいです。
どんなサイトかというと
サイトの訪問時・更新時におおよそ1000枚の写真から1枚をランダムで選択し、表示します。
その写真の撮影場所のマップと関連するワードの解説、近くのホテルや旅館も紹介する。というシンプルなサイトです。
コロナが終息した後に、旅行の行き先を探している人や直感で旅行に行こう!って人に向けたサイトであり、写真を見て旅行欲を刺激して広告収入を得れたら良いなー程度で作り上げました。(私自身にも時間があったというのもあります。)
サイト自体は暇つぶしにするのも最適です。
旅行好きのためのランダム風景写真サイト JP-ictures
何を使用したか
上記サイトを立ち上げるために使用した・使用しているデータやAPIは以下の通り
- 経済産業省のプロジェクト「FIND/47」の写真(2次利用OK)
- NTTのCotoha
- Google MapのAPI
- DBpedia
- 楽天web serviceの楽天トラベルのAPI
以上を使用しています。
これらでランダムに国内風景写真を表示するサイトを作りました。主力部分のほとんど他力本願のサイトですが、個人開発で制作30時間で良い感じのサイトができたかなとは思っています。
では伝えたい2点について詳細を解説します。
開発期間の短縮のために利用できるAPIはなるべく利用すべし
まず、一つ目は「開発期間の短縮のために利用できるAPIはなるべく利用すべし」です。
これは個人開発のメリットである納期などの制限もなく伸び伸びとできる部分があります。
しかし、このメリットは、数ヶ月も要するような長期間の開発ではモチベーションを保ちきれないという問題点が存在します。
そのために、目的・目標に沿って利用できる企業・行政のシステムは利用して開発期間の短縮をした方が効率がいいです。
このサイトでもNTTのCotohaとGoogle Map、楽天などのAPIを利用しています。APIではないがDBPediaなども利用しており、これらのおかげで開発期間をかなり短縮できました。
実際、上記に挙げたAPIはすでに使い方の解説や実例を紹介した記事も多いため、手を出しやすいです。個人開発向けだと無料や低料金もあるため、コストを抑えつつ企業や行政のデータを利用し、開発期間の短縮と勉強にもなるため、一石二鳥か三鳥になります。
行政関係は無料で使える良いデータが多い
二つ目の伝えたいことは「行政関係は無料で使える良いデータが多い」です。
作成したサイトの主役として使用している写真は経済産業省の「FIND/47」が引用元になります。また、サイト作成時に使用した国土地理院のAPIも行政関係です。
このように行政関係は無料で使える良いデータやAPIが多いです。
個人開発ではポケットマネーである資金にも限りがあるため、無料で使用可能なデータやシステムが多い行政関係はとてもありがたい存在になります。
もちろん企業でも無料で提供しているものも多いです。
最後に
ここからは個人の感想ですが、個人開発エンジニアでWebサービスやWebアプリだと、相手の利便性を追求するサービスが多いです。
しかし、それはエンジニアとして当たり前のこと。便利さや効率化を追求するのがエンジニアの極意だとも思っています。
だからこそ、こんな息抜きにもなる暇つぶしサイトが一つぐらいあってもいいんじゃないか。と思って作ってみました。
旅行好きのためのランダム風景写真サイト JP-ictures
皆さんもお時間があったら、好き勝手なサイトを作っていいと思います。
相手のことを一切考えずに、自分が欲しいと思ったものを作って遊ぶ。これもエンジニアの極意の一つではないかと考えています。
最後に、私が作ったサイトは以下の書籍や動画教材でdjangoの力をつけました。
djangoをより学びたい場合は、以下の記事を参考してください。
書籍でdjangoをレベル別で順序よく学びたい方におすすめの本を紹介している記事です。
また、動画で学びたい方はこちらの記事をおすすめします。
Udemyでdjangoを学ぶ際におすすめな動画教材をたった一つだけ厳選したものを紹介しています。
以上です。