はじめに
就職活動用のポートフォリオとしてブログアプリケーションを作ったので、その概要と開発の流れについて書きました。
成果物
簡単なブログ投稿サイトを作りました。
GitHubリポジトリ
技術構成
・ログイン機能
・管理者画面
・記事の作成
・登録済みユーザーの管理
・GAEへのデプロイ
・Cloud SQL & My SQLと連携
作るにあたって
Udemy講師藤本拓真さんの「【Python】 Django3で「本当に使える」WEBアプリケーションを開発しよう」という講座を参考にしました。
期間にして約2週間といったところです。
Pythonについては半年ほど経験がありますがWebアプリケーションについては完全に初心者だったため、まずはDjangoを使って簡単なアプリケーションを1つ作ってみようという気持ちで始めました。
なお、今回はとりあえず動くアプリケーションをつくってみようということなので、決済機能やコメント機能、画像の挿入などは機能として盛り込みませんでした。
藤本先生の講座は以下のリンクから↓
【Python】 Django3で「本当に使える」WEBアプリケーションを開発しよう
開発の流れ
講義に沿って開発を進めました。以下、大まかな流れとなります。
1.仮想環境に入る
2.DjangoおよびDjangoのアプリケーションをインストールする
3.HTMLを書き、Bootstrapでデザインを構成する
4.管理者画面およびトップページを完成させる
5.ログイン画面を作成する
6.入力されたURLのパターンに対し、必要なパスを用意する
7.本番環境用データベースとしてMySQLを使う
8.GAEへデプロイする
苦労した点
特に7番のデータベース接続と8番のデプロイで苦戦しました。
変更を加えるディレクトリの数がこのプロジェクトの中で最も多く、エラーが出た際にどのディレクトリのどの部分か特定するまでにかなりの時間を費やしました。
覚えている範囲でいくと、デプロイ時に「502 Bad Gateway」が表示され、動画を何度も遡りながらどこでズレているのか特定しようとしましたが、最終的に'DB_CONNECTION'の'I'のつけ忘れだったことは苦い思い出です(笑)
うれしかった点
やはりデプロイして自分のドメインでアクセスできるようになった時は達成感を感じましたしうれしかったです。
同時に当たり前のように存在するwebページの多くもこういった地道な過程を経てつくられているんだなと、改めて技術の凄さに感嘆しました。
今後について
講師の藤本先生からポートフォリオへの使用許可をいただいたので、今回つくったwebアプリケーションをベースにフロント部分や機能面を変えながら自分オリジナルのポートフォリオにしていきたいです。なお、JavaScriptについては基礎的な学習は終えているためフロントはNext.jsを使って充実させたいと思っています。
また、webアプリケーションの仕組みについて専門書等で学習する前にとりあえずアプリをつくってみただけであるため、コードの意味や全体としてどう機能しているかわかりかねる点が多いです。そのため、今後は講義をもう一度視聴しながら気になった点やわからない点に関して都度調べながら理解を深めたいと思います。