見出し画像

無償のプログラミング入門講座CS50xをやってみる Final Project Week 1

感想

自由にどうぞ!と言われるので一から色々と調べる必要があり、1週目はほとんど調べているだけで終わってしまいました。どの技術を使うか、その技術はどの程度学習コストがかかりそうか、と言うのを見極めるのは難しいので、比較的知らない技術を入れない構成を組んでみました。

最終課題で作成するもの

ここまでの課題と違い、何を作ろうと完全に自由なので、何を作るのか結構迷いました。家族が料理本を蒐集しているんですが、材料からレシピを探すときに、どの本に見たいレシピが載っていたかわからず困っているという話を聞いたので、材料からレシピとそのレシピが載っている本を探すことが出来るWebアプリを作ることにしました。(土曜に友達とやっている週末プログラミングでも同じ題材でWebアプリを作っているんですが、こちらは自分で出来る範囲で作るので違いが楽しめそうです。)

とりあえず出来ること

Excelに入力したレシピと材料、本のデータをDBにインポートする

検索したい材料を入力する

検索した材料を含む、レシピと本のタイトルが表示される

使うツールなど

フロントエンド:BootstrapとHTMLとjQuery

最初はVue.jsやReactを使ってみようかと思っていたんですが、学習コストも結構高そうなので、今回は課題でも利用したBootstrapとHTML、jQueryで進めてみようと思います

Webアプリケーションフレームワーク:Flask

Webアプリケーションフレームワークはこれまでの課題でも利用して来たFlaskを利用します。ローカルで動かしたことは今のところないですが、使い方なんとなくわかってますしね。

DBとORM:SQLite3, PostgreSQL, SQLAlchemy

ORMを使うとDBをオブジェクト指向的に扱え、SQL文を書く必要が無くなります。ということで、これは是非とも使いたいので覚えることにしました。DBはローカルの開発環境はSQLite3、本番環境はPostgreSQLで考えています。

インフラ:heroku

ファイルのアップロードはPCから、検索はスマホで出来るといいので、どこかにWebアプリケーションをデプロイする必要があります。とりあえず無料なのでHerokuで考えていますが、調べていると無料プランで使えるPostgreSQLは「10,000行」と言う制限があるようなので、もしかしたらAWSなどにするかもしれないです。

前回


この記事が気に入ったらサポートをしてみませんか?