MoneyGo

一个用 Go 和 React/Bootstrap 编写的跟踪个人财务状况的会计 Web 应用。「An accounting web application to track personal finances written in Go and React/Bootstrap」

Github stars Tracking Chart

MoneyGo

MoneyGo 是一个用 JavaScript 和 Golang 编写的个人理财网络应用。它坚持复式记账(double-entry accounting) 原则,并允许使用 OFX(通过 ofxgo)从金融机构直接导入。

该项目正在积极开发中,还不能作为您的主要会计软件(但请随时试用并提供反馈!)。

功能介绍

截图

恕删略。请参见自述文件。

使用文档

虽然我相信大部分的界面都是 "可发现的",但我正在为那些使用起来可能不那么明显的东西编写文档:创建自定义报表、导入事务等。目前,查看文档的最简单方法是 在 github 上浏览

安装方法

首先,在你的发行版中安装 npm、nodejs >= 6.11.3 (可能在旧的 6.x.x 版本上也能用,但还没有测试)、python、curl 和 go >= 1.9。以下是在 Arch Linux 中的操作。

sudo pacman -S npm curl go python

使用 npm 在全局范围内安装 Browserify:

sudo npm install -g browserify

然后,你会希望使用类似这样的方法来构建所有的东西(Golang 和 Javascript 部分)。

export GOPATH=`pwd`
go get -d github.com/aclindsa/moneygo
go generate -v github.com/aclindsa/moneygo/internal/handlers
go generate -v github.com/aclindsa/moneygo
go install -v github.com/aclindsa/moneygo

这可能需要相当长的时间,因为它是通过查询多个网站和服务来自动生成货币和证券的列表。为了避免这一步,你可以在执行上面的 go generate ... 命令之前,先 touch src/github.com/aclindsa/moneygo/internal/handlers/cusip_list.csv。请注意,这将意味着在您的安装中没有安全模板可用于轻松更新证券。如果您想以后再生成这些模板,只需删除 cusip_list.csv 文件并重新运行 go generate ...命令。

运行

MoneyGo 需要 HTTPS 或 FCGI(没有 HTTP)。在启动服务器之前,您需要编辑示例配置文件(src/github.com/aclindsa/moneygo/internal/config/example_config.ini),指向您自己的 SSL 证书/密钥,或者在配置文件的 '[http]'部分设置 'generate-certs-if-absent=true'。

然后,假设你在同一个目录下运行上述安装命令,运行 MoneyGo 就很简单了:

./bin/moneygo -config src/github.com/aclindsa/moneygo/internal/config/example_config

然后,您就可以通过浏览器访问 https://localhost:8443 来浏览 MoneyGo。编辑提供的配置文件可以让您修改一些设置,包括使用的端口、SSL 证书位置以及是否通过 FastCGI 而不是 HTTPS(默认)提供服务。

缺少的功能

  • 通过 OFX 导入一些比较异国的投资交易。
  • 预算
  • 计划中的交易
  • 匹配重复的交易
  • 跟踪汇率、证券价格
  • 导入 QIF



Main metrics

Overview
Name With Owneraclindsa/moneygo
Primary LanguageGo
Program languageGo (Language Count: 8)
PlatformLinux, Mac, Windows
License:MIT License
所有者活动
Created At2015-06-24 11:15:35
Pushed At2019-02-27 11:33:12
Last Commit At2019-01-12 09:30:32
Release Count0
用户参与
Stargazers Count206
Watchers Count17
Fork Count37
Commits Count343
Has Issues Enabled
Issues Count18
Issue Open Count12
Pull Requests Count19
Pull Requests Open Count1
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

MoneyGo

MoneyGo is a personal finance web application written in JavaScript and
Golang. It adheres to double-entry
accounting

principles and allows for importing directly from financial institutions using
OFX (via ofxgo).

This project is in active development and is not yet ready to be relied upon as
your primary accounting software (but please feel free to try it out and offer
feedback!).

Features

Screenshots

Yearly Expense Report
Transaction Register
Transaction Editing

Usage Documentation

Though I believe much of the interface is 'discoverable', I'm working on
documentation for those things that may not be so obvious to use: creating
custom reports, importing transactions, etc. For the moment, the easiest way to
view that documentation is to browse it on github.

Installation

First, install npm, nodejs >= 6.11.3 (may work on older 6.x.x releases, but this
is untested), python, curl, and go >= 1.9 in your distribution. Here is how in
Arch Linux:

sudo pacman -S npm curl go python

Install browserify globally using npm:

sudo npm install -g browserify

You'll then want to build everything (the Golang and Javascript portions) using
something like:

export GOPATH=`pwd`
go get -d github.com/aclindsa/moneygo
go generate -v github.com/aclindsa/moneygo/internal/handlers
go generate -v github.com/aclindsa/moneygo
go install -v github.com/aclindsa/moneygo

This may take quite a while the first time you build the project since it is
auto-generating a list of currencies and securities by querying multiple
websites and services. To avoid this step, you can touch src/github.com/aclindsa/moneygo/internal/handlers/cusip_list.csv before
executing the go generate ... command above. Note that this will mean that no
security templates are available to easily populate securities in your
installation. If you would like to later generate these, simply remove the
cusip_list.csv file and re-run the go generate ... command.

Running

MoneyGo requires HTTPS or FCGI (no HTTP). Before starting the server, you will
want to edit the example configuration file
(src/github.com/aclindsa/moneygo/internal/config/example_config.ini) to point to
your own SSL certificate/key OR set 'generate-certs-if-absent = true' in the
'[http]' section of the config file.

Then, assuming you're in the same directory you ran the above installation
commands from, running MoneyGo is as easy as:

./bin/moneygo -config src/github.com/aclindsa/moneygo/internal/config/example_config.ini

You should then be able to explore MoneyGo by visiting https://localhost:8443 in
your browser. Editing the configuration file supplied will allow you to modify
several settings including the port used, SSL certificate locations, and whether
to serve via FastCGI instead of HTTPS (the default).

Missing Features

  • Importing a few of the more exotic investment transactions via OFX
  • Budgets
  • Scheduled transactions
  • Matching duplicate transactions
  • Tracking exchange rates, security prices
  • Import QIF