オンライン銀行プロジェクトの概要

完了

これから作成するものについて説明します。 前述のように、2 つのプロジェクトを作成します。1 つはプログラムのコア ロジック用で、もう 1 つは Web API を通してロジックを公開するためのものです。 あなたは、オンライン銀行システムを構築しているチームの一員です。

機能と要件を定義する

ここで構築しようとしているオンライン銀行は概念実証であり、これにより、銀行プログラムの実現可能性を判断できます。 この最初の繰り返しでは、コア パッケージとのやり取りは CLI プログラムを介して行われます。 ユーザー インターフェイスは作成せず、データベースにデータは保持しません。 顧客からの取引明細の表示には、エンドポイントを公開します。

このオンライン銀行システムでは次のことを行います。

  • 顧客が口座を作成できるようにします。
  • 顧客がお金を引き出すことができるようにします。
  • 顧客が別の口座に送金できるようにします。
  • 顧客データと最終残高を含む取引明細を提供します。
  • 取引明細を印刷するための Web API を、エンドポイントを通して公開します。

このプログラムは一緒に構築していくので、今は細部についてはあまり気にしないでください。

初期プロジェクト ファイルを作成する

プログラムに必要なファイルの初期セットを作成してみましょう。 すべての銀行のコア ロジックと、若干の顧客と預金や送金などのアクションでシステムを初期化するための main プログラム用に、Go パッケージを作成します。 さらに、この main プログラムでは、取引明細用のエンドポイントを公開するための Web API サーバーを起動します。

$GOPATH ディレクトリに次のファイル構造を作成してみましょう。

$GOPATH/
  src/
    bankcore/
      go.mod
      bank.go
    bankapi/
      go.mod
      main.go

次に、適切なファイルのコードの記述にのみ集中できるように、bankapi メインプログラムから bankcore パッケージを呼び出せることを確認する Hello World! プログラムの記述を始めましょう。

次のコード スニペットをコピーして src/bankcore/bank.go に貼り付けます。

package bank

func Hello() string {
    return "Hey! I'm working!"
}

ここでは、Go モジュールを使用します。 src/bankcore/go.mod で、後で参照できるように、次の内容を追加して、このパッケージに適切な名前を付けます。

module github.com/msft/bank

go 1.14

次に、bankcore パッケージを呼び出す次のコードを、src/bankapi/main.go に追加します。

package main

import (
    "fmt"

    "github.com/msft/bank"
)

func main() {
    fmt.Println(bank.Hello())
}

src/bankapi/go.mod では、次のようにローカル環境の bankcore パッケージ ファイルを参照する必要があります。

module bankapi

go 1.14

require (
    github.com/msft/bank v0.0.1
)

replace github.com/msft/bank => ../bankcore

すべてが機能していることを確認するため、$GOPATH/src/bankapi/ ディレクトリでターミナルを開き、次のコマンドを実行します。

go run main.go

次の出力が表示されます。

Hey! I'm working!

この出力により、プロジェクト ファイルが意図したとおりに正しく設定されていることを確認できます。 次に、オンライン銀行システムの初期機能セットを実装するコードの記述を始めます。