仮想ウェブサイト構築プロジェクト:中古車販売のサイトを作って公開する
歯医者の案件についで第2弾のプロジェクトを立ち上げます。
その名も、
仮想ウェブサイト構築プロジェクト:中古車販売のサイトを作って公開する
です!!
(まだ内容が煮詰まってないので、その間はこの記事含めて無料としますが充実してきたら有料化する予定です)
やりたいことのおおよそは、歯医者のサイトで想定している仮想案件シリーズで想定していることと同じです。ただし、今回はDjangoの機能を歯医者のケースよりも追加して、サイトとしての完成度を上げていくことを目指しています。これによって、よりフリーランス力が上がっていき、仮想案件シリーズがモットーにしている
フロントエンドからバックエンドまで全部対応して大きく稼ぐ
に近づくはずです。
そもそも、歯医者、歯医者と何を言っているんだこいつは!!
という方は以下をぜひ確認してもらえるとイメージをつかむことができるかと思います。サイトマップとして以下を作っているので、ぜひ合わせてチェックしてください。
では、さっそく今回の本題に入っていきたいと思います。
なぜ中古車のサイトという業界なのか?
大きく2つの理由があります。
1つ目は私自身、そこまでこの業界の知見が多くあるわけではないのですが、公認会計士として監査業務を行っていた際に日本のある中古自動車を扱っている会社の監査を担当していたことがありました。そのサイトを見ていると、何かサイト訪問者にパーソナライズした車(自分の好みに合った車)を出すことができれば、もっと成約率が上がるのにな…と思ったので、サイト作成をしてみようかと思ったのが理由です。
例えば具体的には、ベンツを買いそうな人に、軽トラを最初に見る場所に注目の車として表示しても、それでUXが低下することは確実に起きるかと思っていますので、そういう人にはベンツやそれくらいのクラスの車をレコメンドしたほうがいいという発想です。
ただ、この後に今回実装するサイトの機能を載せますが、パーソナライズの機能はつけていません。会員のデータがないとできないというのが理由ですが、仮にできたサイトを運用してみて等で、会員情報・購入情報がどんどんとデータとして集まればこのような機能を実装するも検討できるかと思います。
2つ目はTo Cのサイトを作ってみたいと思ったからです。何かものをもってきて、それを消費者に充てるようなビジネスを実施する・したい方は多く、プラットフォームとしてがあればビジネス課題が解決できるのではないかと思っています。
そのような、サイトを作りたいと考えているビジネスオーナーは多いと思いました。なので、そのような方への納品を想定し、ポートフォリオを持っておくことは将来的にもキャリアのプラスになると確信しています。なので、この機会を使って勉強することをお勧めするという意味も込めて、こちらのプロジェクトを立ち上げました。
想定読者
歯医者の時のプロジェクトでは、非エンジニアの方も想定読者に入っていたのですが、その時に想定していた読者は、
・Pythonでサイトを作って公開するまでを体験したい会社員の方(非エンジニア)
・副業でサイト作成をしたい会社員の方(非エンジニア)
・Wordpressとの比較をしたいPHPコーダーやWordpressエンジニアの方(エンジニア)
を想定しました。これはこれでターゲット設定としては問題ないと個人的には思っているのですが、今回はよりもっと具体的な設定も加えます。
フリーランスエンジニアを目指す会社員、自社プロダクトを持つ会社に転職したい就活生・転職希望者
これを今回追加で考えている理由ですが、今回実装していく機能(後で書くので最後まで見てもらえるとどういうものが実装されるかわかります)としては、かなり広範に扱います。
つまり、それは1つの案件でDjangoで想定される機能を結構隅々まで使っていくことになるので、ポートフォリオサイトとしてGithubに持っておくと、自分のアピールになるということかと思います。実際、ここまで自分で一人で実装できたらたいていのサイトの要件はさばけると多くの事例を見てきた身から判断しました。そのため、これらを身に着けておきたいと思う人はぜひ今回の記事をフォローしてもらえると良いはずです。
では次に今回のサイトがカバーする機能について紹介します。
Djangoの機能の中で今回できるようになるものは何か?
■フロントエンド
まずはフロントエンドとしてですが、サイトの見た目は↓こんな感じにしようと思っています。
<実装される機能>
1.値段や車のスペックに応じた検索機能
2.ページネーション(実は以外と検討すべきことが多い機能です)
3.会員ログイン
4.3の派生としてGoogleアカウントでのログイン
5.Paypalとの連携(支払いの実行)
Djangoで、ABOUTページや、SERVICESページにどうリンクさせるのかといったことをここでカバーする予定です。少し内容をご紹介すると、以下は
1.base.htmlでページ全体のトーンを定義しているので、それを呼び出し、その中でABOUTページのみで内容を変えたい内容については{% block content %}で挿入している
2.ABOUTページ内でhome画面に行くためのリンクの設定として特徴的な{% url 'home' %}を実装している例です。
{% extends 'base.html' %}
{% block content %}
{% load static %}
<!-- Sub banner start -->
<div class="sub-banner overview-bgi">
<div class="container breadcrumb-area">
<div class="breadcrumb-areas">
<h1>About Us</h1>
<ul class="breadcrumbs">
<li><a href="{% url 'home' %}">Home</a></li>
<li class="active">About Us</li>
</ul>
</div>
</div>
</div>
これによって↓こんな見た目のものが出来上がります!!
■バックエンド
次に、バックエンドとしてどういうことをやるかをご紹介します。
<実装される機能>
1. データベースとの連携(Postgresを使用する想定)
2. Djangoの管理画面の使い方やその見た目の変更方法
上記はデフォルトですが、これの見た目を変えていきます。具体的には、変更後における従業員の変更を管理画面からクリックやフィルター、検索ができるようにしていきます。
3. 管理画面から車の各種情報の登録や、従業員の情報の登録
バックエンドで登録した2の従業員情報をフロントに連携します。
です。歯医者の仮想案件では扱わなかった、データベース機能を今回は実装していくため、CRUD(*)をデータベースの観点から抑えることができます。
(*)CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性の4つの基本機能のイニシャルを並べた用語。 Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)であり、 ユーザインタフェースが備えるべき機能(情報の参照/検索/更新)を指す用語としても使われる。
■どうやって公開するか?
次にできたウェブサイトを公開方法についてですが、おなじみの方法を用いることとして、
1.Herokuを使って無料で公開します
を扱う予定です。
やることいっぱいですので、今回のマガジンも長期になると思います。
では、次回から本格的なToC向けのサイトを作成していきましょう。