Todo App (server-side app with Express.js)
- $
git clone https://github.com/kitamuraDev/extodo.git
- $
cd extodo
- $
mkdir db && touch extodo.sqlite3
- $
yarn connect
で sqlite3 を起動し、以下の"create users table"と"create tasks table"のコマンドを実行してテーブルを作成する
- $
yarn
- $
yarn dev
CREATE TABLE users (
id INTEGER NOT NULL PRIMARY KEY,
name TEXT NOT NULL UNIQUE,
password TEXT NOT NULL,
created_at TEXT NOT NULL DEFAULT (DATETIME('now', 'localtime')),
updated_at TEXT NOT NULL DEFAULT (DATETIME('now', 'localtime'))
);
CREATE TABLE tasks (
id INTEGER NOT NULL PRIMARY KEY,
user_id INTEGER NOT NULL,
content TEXT NOT NULL,
created_at TEXT NOT NULL DEFAULT (DATETIME('now', 'localtime')),
updated_at TEXT NOT NULL DEFAULT (DATETIME('now', 'localtime'))
);
- 必要なライブラリをインストール && ディレクトリを整理
- DB 設計 && DB 作成
- 基本的な todo 機能を実装
- 2 で作成した todo 機能に DB を絡める(todo の保存先を DB に切り替える)
- 基本的な todo 機能が実装できたところで、ユーザー機能(signup, signin, logout)を追加
- DB にパスワードを保存する際にハッシュ化(加工)してから DB に突っ込む(※本来は 4 で行う)
- (本アプリでは)認証管理(サインイン機能(シリアライズやデシリアライズなど), ログアウト機能)をセッション管理から"passport.js"へ移行した
- todo と user の紐付け
- delete, put 処理も実装
- 終わり