作った背景
当方のバックグラウンドはSEOやメディア運営なのだが、もともとプログラミングに興味があった。そこで、ドワンゴが運営する「N予備校」でプログラミングの勉強を始め、アウトプットのためにウェブアプリケーションを初めて作った。
どんなアプリケーションか
GitHubアカウントでログインし、タスクをシンプルに管理できるウェブアプリケーションを作った。といっても実用には程遠いのだが・・・。
- タスクを作る
- タスクを編集
- タスクを削除
- タスクを完了
これらのシンプルな機能を実装してみた。
トップ画面
GitHub認証でログインするとタスクが表示される
タスクを作るボタンを押してタスクを入力。メモや〆切も設定する。
タスク名をクリックすると詳細ページに飛ぶ。ここでタスクの完了ができる。編集ページでは削除ができる。
完了タスクは表示されないが、「何やったっけ?」と確認したいときのために、完了タスクを表示させられるようにした。
見てのとおり、味気のないシンプルなタスク管理アプリケーションだ。 「ウェブアプリケーション」と呼ぶのが恥ずかしいレベル。エンジニアさんごめんなさい。
実際のページはHerokuで公開している。 https://shielded-meadow-94438.herokuapp.com/
コード - GitHub ・タスク管理webアプリケーション
勉強したかったこと
- JavaScript
- Node.js
- jQuery
- Bootstrap
- Express
- テンプレートエンジン(Pug)
- データベース(Postgres)
- 脆弱性対策
- GitHub
- GET/POSTアクセス
- Heroku
などなど。 「これじゃダメだよ」、「もっとこんなふうにしたほうがいいよ」といったアドバイスがあればいただけると幸いです。
初めて作ってみて思ったこと
アウトプットは確実に力がつくと感じた。
というのも、テキストで勉強をしていると、どうしてもコードの書き写しになってしまうことがある。腑に落ちない箇所があっても、コードを写経すれば動いてしまう。本当に理解したとはいえなかった。
ただ、自分が作りたいものを作る場合、完全に「自分ごと」になる。やりたいことをするにはどう実装すればいいのか、考えるようになる。一発でうまくいくことはほぼなく、開発期間の9割がバグとの戦いだった。何度も発狂したが、思ったとおりに動いたときは飛び跳ねて喜んだ(実際に部屋でピョンピョンしてた)。プログラミングの「プ」の字もわからない状況からスタートした。ここまでできたこと自体は素直に嬉しい。
とはいえ、まだまだ課題しかない。やればやるほどわからないことだらけな状況。エンジニアさんほんとすごい・・・。テスト書くの忘れてたし…
しかし、自分の頭で考えたことが形になるのは、やりがいがある。もっと上達したい。