Just do IT

思うは招く

プログラミング初心者がNodejsを使って簡単なタスク管理アプリを作ってみた

作った背景

当方のバックグラウンドはSEOやメディア運営なのだが、もともとプログラミングに興味があった。そこで、ドワンゴが運営する「N予備校」でプログラミングの勉強を始め、アウトプットのためにウェブアプリケーションを初めて作った。

N予備校https://www.nnn.ed.nico/

どんなアプリケーションか

GitHubアカウントでログインし、タスクをシンプルに管理できるウェブアプリケーションを作った。といっても実用には程遠いのだが・・・。

  • タスクを作る
  • タスクを編集
  • タスクを削除
  • タスクを完了

これらのシンプルな機能を実装してみた。

トップ画面 スクリーンショット 2019-09-19 17.05.07.jpg

GitHub認証でログインするとタスクが表示される スクリーンショット 2019-09-19 17.05.21.jpg

タスクを作るボタンを押してタスクを入力。メモや〆切も設定する。 スクリーンショット 2019-09-19 17.05.28.jpg

タスク名をクリックすると詳細ページに飛ぶ。ここでタスクの完了ができる。編集ページでは削除ができる。 スクリーンショット 2019-09-19 17.05.41.jpg

完了タスクは表示されないが、「何やったっけ?」と確認したいときのために、完了タスクを表示させられるようにした。 スクリーンショット 2019-09-19 17.06.11.jpg

見てのとおり、味気のないシンプルなタスク管理アプリケーションだ。 「ウェブアプリケーション」と呼ぶのが恥ずかしいレベル。エンジニアさんごめんなさい。

実際のページはHerokuで公開している。 https://shielded-meadow-94438.herokuapp.com/

コード - GitHubタスク管理webアプリケーション

勉強したかったこと

  • JavaScript
  • Node.js
  • jQuery
  • Bootstrap
  • Express
  • テンプレートエンジン(Pug)
  • データベース(Postgres)
  • 脆弱性対策
  • GitHub
  • GET/POSTアクセス
  • Heroku

などなど。 「これじゃダメだよ」、「もっとこんなふうにしたほうがいいよ」といったアドバイスがあればいただけると幸いです。

初めて作ってみて思ったこと

アウトプットは確実に力がつくと感じた。

というのも、テキストで勉強をしていると、どうしてもコードの書き写しになってしまうことがある。腑に落ちない箇所があっても、コードを写経すれば動いてしまう。本当に理解したとはいえなかった。

ただ、自分が作りたいものを作る場合、完全に「自分ごと」になる。やりたいことをするにはどう実装すればいいのか、考えるようになる。一発でうまくいくことはほぼなく、開発期間の9割がバグとの戦いだった。何度も発狂したが、思ったとおりに動いたときは飛び跳ねて喜んだ(実際に部屋でピョンピョンしてた)。プログラミングの「プ」の字もわからない状況からスタートした。ここまでできたこと自体は素直に嬉しい。

とはいえ、まだまだ課題しかない。やればやるほどわからないことだらけな状況。エンジニアさんほんとすごい・・・。テスト書くの忘れてたし…

しかし、自分の頭で考えたことが形になるのは、やりがいがある。もっと上達したい。