自分専用の家計簿です.

家計簿は家のPCでレシートなどをもとにエクセルで入力していました.
この作業を楽にするために作り始めました.

自分が使うためだけに最適化していきます.

内容

Crgst/kakeibo

完成:

  • 財布・銀行・カードごとの残金管理
  • 支出・収入の管理
  • お金の移動の管理
  • カレンダー
  • カレンダースケジュール管理
  • 支出・収入の表
  • 月ページ

未完成:

  • 月ページに合計出費・光熱費などの情報
  • カレンダーカテゴリ編集機能
  • 年間詳細ページ(グラフとか)
  • 支出・収入プリセット編集機能
  • お金の移動プリセット編集機能
  • 年ページ(各月ごとのいろんな情報, 統計データ)
  • 優先度低い:財布・銀行・カードを新しく追加する機能
  • 優先度低い:カテゴリの管理
  • 優先度低い:ログイン機能

作業メモ

Laravel のインストール:

composer create-project laravel/laravel --prefer-dist

bower:

bower init
bower install bootstrap-sass-official --save 
bower install jquery --save 
bower install jquery-ui --save

grunt:

npm init
npm install -g grunt-cli
npm install grunt --save-dev
npm install grunt-bower-task --save-dev

bootstrap と jquery, jquery-ui を bower でインストールしました. jquery-ui は datepicker を使うためです.
以下の exportsOverride の設定により jquery-ui と bootstrap については任意の場所にコピーされるように設定しています.

bower.json:

{
  "name": "kakeibo",
  "version": "0.0.0",
  "authors": [
    "Crgst <oco.tasogare@gmail.com>"
  ],
  "license": "MIT",
  "homepage": "http://ocoao.info",
  "ignore": [
    "**/.*",
    "node_modules",
    "bower_components",
    "test",
    "tests"
  ],
  "dependencies": {
    "bootstrap-sass-official": "~3.1.1+2",
    "jquery": "~2.1.1",
    "jquery-ui": "~1.10.4"
  },
  "exportsOverride": {
    "jquery-ui": {
      "js": [
        "ui/jquery-ui.js"
      ],
      "css": [
        "themes/eggplant/jquery-ui.min.css"
      ],
      "css/images": [
          "themes/eggplant/images/*"
      ]
    },
    "bootstrap-sass-official": {
        "scss": [
            "vendor/assets/stylesheets/bootstrap.scss"
        ],
        "scss/bootstrap": [
            "vendor/assets/stylesheets/bootstrap"
        ],
        "../../css/bootstrap": [
            "vendor/assets/fonts/bootstrap"
        ]
    }
  }
}

bower_components 内の必要なファイルをコピーするために Gruntfile.json を以下のようにします.

Gruntfile.json:

module.exports = function (grunt) {
    grunt.initConfig({
        bower: {
            install: {
                options: {
                    targetDir: './public/lib',
                    layout: 'byComponent',
                    install: true,
                    verbose: false,
                    cleanTargetDir: true,
                    cleanBowerDir: false
                }
            }
        }
    });
    grunt.loadNpmTasks('grunt-bower-task');
};

以下のコマンドでコピーを実行します:

grunt bower:install