Skip to content

Commit 12d0b66

Browse files
committed
READMEに説明を記載
1 parent d63bd73 commit 12d0b66

File tree

4 files changed

+90
-20
lines changed

4 files changed

+90
-20
lines changed

README.md

Lines changed: 57 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,65 @@
1-
# Note application
1+
# ノートアプリケーション
22

33
[![Build Status](https://travis-ci.org/tokibito/note-app-django-vue-javascript.svg?branch=master)](https://travis-ci.org/tokibito/note-app-django-vue-javascript)
44

55
![ノート](note-app.png "ノート")
66

7-
## make python virtualenv and activate
7+
## これは何ですか?
88

9-
```
10-
python3.6 -m venv venv
11-
source venv/bin/activate
12-
```
9+
テキストを編集、保存できるシンプルなウェブアプリケーションです。
1310

14-
## install python modules
11+
バックエンドとなるAPIサーバーにはDjangoフレームワーク(Python)、フロントエンドにはVue.js(JavaScript)を使っています。
1512

16-
```
17-
pip install -r requirements.txt
18-
```
13+
DjangoフレームワークとJavaScriptでアプリケーションを作るサンプルコードとして作成しました。
14+
15+
以下の要素を含んでいます:
16+
17+
* バックエンド
18+
* Python3
19+
* venv
20+
* Djangoフレームワーク
21+
* Django REST Framework
22+
* フロントエンド
23+
* Babel
24+
* webpack
25+
* Vue.js
26+
* Bootstrap
27+
* Font Awesome
28+
* mocha
29+
* power-assert
30+
31+
## 構成
32+
33+
* `note_server`
34+
* バックエンド(Pythonで動作するAPIサーバー)
35+
* `note_client`
36+
* フロントエンド(webpackでビルドし、Djangoフレームワークのstaticfilesモジュールから配信される)
37+
* CSS(Sass)も含む
38+
39+
## 動かしてみる
40+
41+
1. `note_client` をビルドする
42+
2. `note_server` を起動してブラウザでアクセスする
43+
44+
## 設計について
45+
46+
アーキテクチャとモジュール構成に関して考えた点など:
47+
48+
* シングルページアプリケーション(SPA)にはせず、DjangoのサーバーサイドレンダリングとVue.jsを組み合わせて使う
49+
* ビルドしたファイルの配信は、Djangoフレームワークのstaticfilesに任せる
50+
* Vuexはなるべく使わない
51+
* 依存をなるべく減らす気持ち
52+
* Vuexは学習コストもメンテコストも高いので、使わないで済むうちは使わない
53+
* 複雑になったら使ったほうが楽できるとは思います
54+
* vue-cliを使っていない
55+
* ごちゃっと余計なものが入るのを避ける
56+
* 使うツールスタックを合わせられるなら使ってもよいかな
57+
* Vueへの依存をなるべく広げない
58+
* Vueに依存しないほうがテストコードを書きやすいから
59+
* Vueインスタンスをエントリポイント(index.js)外のJavaScriptコードに渡さない
60+
* エントリポイントではVueに依存しないコントローラクラスのインスタンスを生成し、データはコントローラに持たせる
61+
* 規模が大きくなったらストアを用意するかも
62+
* コンポーネントから外へVueインスタンスを渡さない
63+
* django-webpack-loaderを使っていない
64+
* なるべく依存を増やさない
65+
* 必要になったら入れよう

note_client/README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
1-
# Client Application
1+
# クライアントアプリケーション
22

3-
## install node packages
3+
## Node.JSのパッケージをインストールする
44

55
```
66
npm i
77
```
88

9-
## bulid
9+
## アプリケーションのビルド
1010

1111
```
1212
npm run webpack
1313
```
1414

15-
## watch build
15+
## ファイルの変更を検知してビルド
1616

1717
```
1818
npm run webpack -- -w
1919
```
2020

21-
## clean
21+
## ビルドされたファイル群の削除
2222

2323
```
2424
npm run clean
2525
```
2626

27-
## run test
27+
## テストコードの実行
2828

2929
```
3030
npm t

note_server/README.md

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,41 @@
1-
# Note API Server
1+
# APIサーバー
22

3-
## migrate
3+
Djangoフレームワーク、Django REST Frameworkを使っています。
4+
5+
## virtualenvの作成、有効化
6+
7+
```
8+
python3.6 -m venv venv
9+
source venv/bin/activate
10+
```
11+
12+
## Pythonモジュールのインストール
13+
14+
virtualenvを有効にした状態で、pipコマンドでインストールします。
15+
16+
```
17+
pip install -r requirements.txt
18+
```
19+
20+
## データベースファイルの作成とマイグレーション
21+
22+
データベースはデフォルトのSQLite3を使います。 `migrate` コマンドでデータベースファイルが作成され、マイグレーションも実行されます。
423

524
```
625
./manage.py migrate
726
```
827

9-
## create user
28+
## ユーザーの作成
29+
30+
このアプリケーションはDjangoの標準機能を使用したユーザー認証があります。管理者となるユーザーはcreatesuperuserコマンドで作成します。
1031

1132
```
1233
./manage.py createsuperuser
1334
```
1435

15-
## runserver
36+
## 開発用サーバーの起動
37+
38+
開発用サーバーは `runserver` コマンドで起動します。
1639

1740
```
1841
./manage.py runserver
File renamed without changes.

0 commit comments

Comments
 (0)