PLAccounting-Backend

command module
v0.0.0-...-c6fbc10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 24, 2023 License: AGPL-3.0 Imports: 12 Imported by: 0

README

PLAccounting Backend

青色申告兼家計簿用の自作会計システムのバックエンド

開発環境

  • Go 1.21.0
  • PostgreSQL 15.4
  • Redis 7.2.0
  • SMTPサーバ

環境構築

Docker Compose利用
環境変数設定

.env.dockerに環境変数を設定する。設定方法は下記参照。

cp .env.example .env.docker
setup.shの実行

フロントエンドのビルドを行う。nodenpmが必要。

chmod +x ./setup.sh
./setup.sh
環境変数の読み込み
source .env.docker
Dockerfileのビルド&起動
docker-compose --env_file .env.docker up -d
手動構築
JWT用公開鍵・秘密鍵生成

PKCS8形式で生成する。パスワード設定はなし。 なお、公開鍵に関しては、ssh-keygen -m PKCS8のみで対応不可能なため、変換を行う。

ssh-keygen -m PKCS8
ssh-keygen -i -f .jwt_pub -m pkcs8 > .jwt_rsa.pub.pkcs8

生成後は、それぞれのファイルのパスを環境変数として設定する。

JWT_PRIVATE_KEY_PATH=./.jwt_rsa
JWT_PUBLIC_KEY_PATH=./.jwt_rsa.pub.pkcs8
PostgreSQL, Redisサーバの構築及び設定

適宜それぞれのサーバを立ち上げ、接続情報を環境変数にて設定する。

POSTGRES_HOST=localhost
POSTGRES_USER=user
POSTGRES_PASSWORD=password
POSTGRES_DB=test
POSTGRES_SSLMODE=false
POSTGRES_TIMEZONE=Asia/Tokyo
REDIS_HOST=localhost
REDIS_PASSWORD=password
REDIS_PORT=6379
REDIS_DB=0
メール認証用の送信アカウント設定

無効化するオプションは未実装なので、任意ではなく必須。

SMTP_HOST=host
SMTP_PORT=465
SMTP_USER=user
SMTP_PASS=password
SMTP_USERADDR=test@test.com
ハッシュソルト設定(任意)

予め用意されたハッシュテーブルによるパスワード復号化対策。 完全ではないが事故時のリスクを減らせる。

HASH_SALT=qawsedrftgyhujikolp
依存パッケージ導入
go mod tidy
起動

go run利用(ビルド後実行)

go run main.go

ビルド

go build

API仕様

Swaggerで作成しているので当該ファイル(docs/以下のファイル)参考。 また、起動後host:port/swagger/index.htmlでもアクセス可

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL