Structurer le projet de banque en ligne
Parlons de ce que nous allons créer. Comme nous l’avons vu précédemment, nous allons créer deux projets : un pour la logique principale du programme et un autre pour exposer la logique via une API Web. Imaginez que vous êtes désormais membre d’une équipe qui crée un système bancaire en ligne.
Définir les fonctionnalités et les exigences
La banque en ligne que nous allons créer est une preuve de concept qui détermine la manière s’il est possible de créer le programme de la banque. Dans cette première itération, l’interaction avec le package de base s’effectue par le biais d’un programme CLI. Nous n’aurons pas d’interface utilisateur ni de données persistantes dans une base de données. Pour afficher la déclaration de compte d’un client, nous allons exposer un point de terminaison.
Le système bancaire en ligne :
- Permettra aux clients de créer un compte.
- Permettra aux clients de retirer de l’argent.
- Permettra aux clients de transférer de l’argent vers un autre compte.
- Fournira une déclaration de compte avec les données client et un solde final.
- Exposez une API Web via un point de terminaison pour imprimer une instruction de compte.
Nous allons créer ce programme ensemble, donc ne vous souciez pas trop des détails pour l’instant.
Créer des fichiers de projets initiaux
Nous allons créer l’ensemble initial de fichiers dont nous aurons besoin pour le programme. Nous allons créer un package Go pour l’ensemble de la logique de base de la banque et un programme main
pour initialiser le système avec quelques clients et actions comme les dépôts et les transferts. En outre, ce main
programme démarrera un serveur d’API Web pour exposer un point de terminaison pour l’instruction de compte.
Nous allons créer la structure de fichiers suivante dans votre répertoire $GOPATH
:
$GOPATH/
src/
bankcore/
go.mod
bank.go
bankapi/
go.mod
main.go
Ensuite, pour nous assurer que nous pouvons nous concentrer uniquement sur l’écriture de code dans les fichiers appropriés, commençons par écrire un programme Hello World!
qui confirmera que nous pouvons appeler le package bankcore
à partir du programme principal bankapi
.
Copiez et collez l’extrait de code suivant dans src/bankcore/bank.go
:
package bank
func Hello() string {
return "Hey! I'm working!"
}
Nous allons utiliser les modules de Go. Dans src/bankcore/go.mod
, ajoutez le contenu suivant pour attribuer un nom approprié à ce package afin de pouvoir le référencer ultérieurement :
module github.com/msft/bank
go 1.14
Ajoutez ensuite le code suivant pour appeler le package bankcore
dans src/bankapi/main.go
:
package main
import (
"fmt"
"github.com/msft/bank"
)
func main() {
fmt.Println(bank.Hello())
}
Dans src/bankapi/go.mod
, nous devons référencer les fichiers du package bankcore
localement, comme suit :
module bankapi
go 1.14
require (
github.com/msft/bank v0.0.1
)
replace github.com/msft/bank => ../bankcore
Pour vous assurer que tout fonctionne, ouvrez un terminal dans le répertoire $GOPATH/src/bankapi/
et exécutez la commande suivante :
go run main.go
Vous devez normalement voir la sortie suivante.
Hey! I'm working!
Cette sortie confirme que les fichiers de votre projet sont configurés exactement comme ils le devraient. Ensuite, nous allons commencer à écrire le code pour implémenter l’ensemble initial de fonctionnalités pour notre système bancaire en ligne.