Notre plateforme de commerce électronique suivra cette structure de répertoires
rmshop-clean-architecture/ │ ├── cmd/ │ ├── api/ │ │ └── main.go # Main application entry point │ └── seedadmin/ │ └── main.go # Admin seeding command │ ├── internal/ │ ├── config/ │ │ └── config.go # Application configuration │ │ │ ├── delivery/ │ │ └── http/ │ │ ├── handlers/ │ │ │ ├── user_handler.go │ │ │ ├── admin_handler.go │ │ │ ├── product_handler.go │ │ │ └── ... │ │ ├── middleware/ │ │ │ ├── auth.go │ │ │ └── ... │ │ └── routes.go │ │ │ ├── domain/ │ │ ├── user.go │ │ ├── product.go │ │ └── ... │ │ │ ├── repository/ │ │ ├── interfaces.go │ │ └── postgres/ │ │ ├── user_repository.go │ │ ├── product_repository.go │ │ └── ... │ │ │ ├── usecase/ │ │ ├── user_usecase.go │ │ ├── product_usecase.go │ │ └── ... │ │ │ └── server/ │ └── server.go │ ├── pkg/ │ ├── auth/ │ │ └── jwt.go │ ├── database/ │ │ ├── migrations.go │ │ └── postgres.go │ └── ... │ ├── migrations/ │ ├── 001_create_users_table.up.sql │ ├── 001_create_users_table.down.sql │ └── ... │ ├── go.mod ├── go.sum └── README.md
Cette structure adhère aux principes d'architecture propre
interne/ : héberge le code principal de l'application, inaccessible aux autres projets.
config/ : Configuration de l'application.
delivery/ : gère la façon dont les données sont présentées et reçues de l'utilisateur.
domaine/ : définit la logique métier et les entités de base.
dépôt/ : gère le stockage et la récupération des données.
usecase/ : contient des règles métier spécifiques à l'application.
serveur/ : gère la configuration du serveur HTTP.
pkg/ : packages partagés pouvant être utilisés par des applications externes.
migrations/ : Fichiers de migration de base de données.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!